GS1-128 Barcode Generator
Pick Application Identifiers and fill in their values — the AI builder composes the correct GS1-128 string and renders it live, free and unlimited.
What GS1-128 encodes
GS1-128 is a structured-data variant of Code 128 built for logistics and supply-chain labels that need to carry more than one piece of information in a single barcode. Instead of one plain string, the data is broken into fields, each tagged with a numeric Application Identifier (AI) in parentheses — (01) for a GTIN, (10) for a batch or lot number, (17) for an expiry date, (21) for a serial number, and more — so a scanner or warehouse system can pull out exactly the fields it needs, unambiguously, regardless of how many are packed into the same symbol. The AI builder above handles this composition for you: pick an AI, type its value, and the correctly-formatted string is generated and rendered automatically.
FNC1: what makes it GS1 data
Every GS1-128 symbol starts with a special non-printing character called FNC1 — it's what tells a scanner "interpret what follows as GS1 Application Identifiers," rather than as arbitrary text the way a plain Code 128 barcode would be read. FNC1 also does double duty inside the barcode: GS1's variable-length fields (like a batch number, which can be anywhere from 1 to 20 characters) use a second FNC1 as a separator, marking exactly where that field ends so the next AI isn't misread as part of it. You never type FNC1 yourself — this tool's Studio inserts it automatically as part of rendering.
Common Application Identifiers
The five AIs this page's builder supports cover the large majority of real-world GS1-128 labels:
- (01) GTIN-14 — the product's global trade item number, 14 digits including its own check digit.
- (10) Batch/Lot — up to 20 alphanumeric characters identifying a production batch.
- (17) Expiry date — in YYMMDD format.
- (21) Serial number — up to 20 alphanumeric characters identifying one specific unit.
- (310x) Net weight, kg — a 6-digit value where x (0-5) sets how many of those digits are decimal places; 3102 with value 012345 means 123.45 kg.
GS1's full specification defines dozens more AIs for logistics, dates, and measurements beyond these five.
SSCC and logistics labels
GS1-128's home turf is the shipping label: pallets and cartons moving through a supply chain are almost always labeled with a Serial Shipping Container Code, AI (00), an 18-digit number uniquely identifying that one logistics unit end to end. A real-world pallet label routinely combines an SSCC with a GTIN (01), a batch/lot (10), and a quantity or weight field, all on the same GS1-128 symbol — exactly the kind of multi-field composition the AI builder above is built to make painless. That's the core reason GS1-128 exists as a distinct format: retail point-of-sale scanning wants one simple number, but a warehouse receiving dock needs several structured fields off a single label in one scan.
GS1-128 vs. plain Code 128
Physically, GS1-128 and Code 128 are the same symbology — identical bar patterns, identical checksum. The difference is entirely in convention: GS1-128 always opens with FNC1 and structures its data as Application Identifiers, while plain Code 128 encodes whatever text you give it with no implied meaning. Any scanner that reads Code 128 can decode the bars of a GS1-128 symbol too, but only GS1-aware software correctly parses the AI structure behind those bars. If your data isn't a GS1 field — an internal SKU, a tracking number your own system defines — plain Code 128 (see /code-128) is the simpler, more appropriate choice.
Frequently asked questions
What is an Application Identifier (AI) in a GS1-128 barcode?
What's the difference between GS1-128 and Code 128?
What is FNC1 in a GS1-128 barcode?
What is an SSCC?
Do I need a GS1 license to use GS1-128?
How do I build a GS1-128 barcode without knowing the AI syntax?
Keep going
Upload a CSV or Excel file and download a ZIP of barcodes — no per-row limit.
Print label sheetsAvery-ready PDFs with correct quiet zones, aligned automatically.
Barcode won't scan?Quiet zones, size, thermal DPI, contrast — causes and fixes, plus a live tester.
All barcode typesBrowse every symbology BarcodeSheets supports.