Data rules
Any printable ASCII, 1–80 characters
- Length: 1–80 characters
- Character set: alphanumeric
- Check digit: not used
- Quiet zone: 10 modules
General purpose
Code 128 encodes any ASCII text or number at high density. Subsets A, B and C are selected automatically for the shortest symbol.
Enter valid data to see the barcode.
Encoding happens entirely in your browser. This tool encodes numbers you already own — it does not issue or register GS1 company prefixes.
Any printable ASCII, 1–80 characters
Build a GS1-128 barcode from structured fields — GTIN, batch, expiry, serial — or switch to raw Application Identifier mode.
Code 39 encodes uppercase letters, digits and a few symbols. It is widely used for asset tags and internal inventory.
Code 93 is a denser successor to Code 39 with two built-in check characters.
Code 128 is the workhorse of internal business barcoding. It encodes the full 128-character ASCII set at high density, with three character subsets (A, B and C) that the encoder switches between automatically — subset C packs two digits into one symbol character, which is why numeric data is so compact.
It carries a mandatory modulo-103 checksum computed from the encoded characters, so a partial read is rejected rather than silently misread.
Yes. The Code 128 generator is free, has no signup and adds no watermark. The symbol is encoded in your browser, so the data you type is never uploaded to a server.
Download SVG for anything that will be printed. SVG is vector, so bar widths and the quiet zone stay exact at any size. PNG is fine for screens and slide decks, but never scale a PNG barcode up — enlarging it blurs the bar edges and scanners start failing.
Code 128 for almost everything: it is denser, supports lowercase and full ASCII, and has a stronger checksum. Code 39 is only preferable when an old scanner or legacy system explicitly requires it.
GS1-128 is Code 128 with GS1 rules applied: a leading FNC1 and data structured as Application Identifiers such as (01) GTIN or (17) expiry. The symbology is the same; the data format is not.
This page follows the published specifications. The bodies that own them: