- Home
- Barcode Glossary
- GS1-128
GS1-128
Code 128 carrying GS1 Application Identifier element strings — the standard barcode of global logistics.
GS1-128 Specification
| Character set | Full ASCII via Code 128; AI element strings are largely numeric with defined formats (e.g. YYMMDD dates) |
| Data length | Variable; each AI has its own fixed or predefined-length rule, and symbol size is bounded by label space |
| Check digit | Mandatory Mod 103 check character (Code 128) plus AI-embedded check digits such as the GTIN Mod 10 |
| Density | Same as Code 128 — ≈24 numeric characters per inch in code set C |
| Module width (X-dimension) | 0.25-0.50 mm; 0.33-0.50 mm is typical on logistics labels |
| Print ratio | Variable-width bars and spaces |
| Magnification | GS1 logistics label practice: 100% nominal X = 0.33 mm with 80-200% magnification allowed depending on printing process |
| Quiet zone | 10X on each side |
| Standard | GS1 General Specifications; symbology basis ISO/IEC 15417 |
| Origin | GS1 (UCC/EAN joint standard, built on Code 128), 1989 |
| Sample data | (01)09521234543213(3103)000123 |
Try It: Generate a GS1-128 Barcode
This live generator is preconfigured for GS1-128. Adjust size, colors, and text — then download as PNG or SVG. Free, no signup, all encoding happens in your browser.
What Is GS1-128?
GS1-128 (formerly UCC/EAN-128) is not a separate symbology but a strict application of Code 128 governed by the GS1 General Specifications. A GS1-128 symbol starts with the FNC1 character, followed by one or more element strings, each prefixed by an Application Identifier (AI) that defines the meaning and format of the data that follows — (01) for GTIN, (10) for batch or lot number, (17) for expiry date, (00) for SSCC, and over a hundred more.
Because the AI dictionary is standardized worldwide, any trading partner can parse a GS1-128 label without prior agreement on the data layout. It is the required marking for SSCC pallet and carton labels in GS1-based supply chains, the carrier for best-before and lot data in food and pharma traceability, and the base symbology for EANCOM/EDI-linked shipments. When printed to spec, a GS1-128 label on a carton in São Paulo scans identically in Berlin.
Common Applications
- SSCC (AI 00) pallet and carton labels in global supply chains
- Batch (10), expiry (17), and serial (21) traceability in food and pharma
- Retail logistics, cross-docking, and EDI-linked shipments
Related Barcode Types
A high-density, variable-length linear barcode that encodes all 128 ASCII characters, and the backbone symbology of modern logistics.
Code 128 locked to code set C — digit pairs packed two per character for maximum numeric density.
The 14-digit Global Trade Item Number for cases and inner packs, carried by GS1-128 or ITF-14 symbols.
The GTIN-14 carton-level barcode: ITF with thick bearer bars, printed directly on corrugated shipping cases.
The variable-length DataBar carrying GTIN plus extra AI data — weights, dates, lot numbers — on fresh food.
GS1-128 FAQ
Do I include the parentheses when encoding (01)09521234543213?
No. The parentheses are a human-readable convention that visually separates AIs — they are not encoded in the bars. The encoder writes FNC1, then the AI digits 01, then the data. If you paste a string with parentheses into a compliant generator, the AIs are parsed but only the digits reach the barcode.
When do I need an FNC1 separator inside the data?
AIs come in fixed-length and variable-length flavors. Fixed-length AIs (like 01, exactly 14 digits) chain directly into the next AI. Variable-length AIs (like 10, lot number) must be terminated by FNC1 when another AI follows, so the scanner knows where the field ends. Generators insert this separator automatically.
GS1-128 vs ITF-14 for cartons — which should I use?
Both can carry a GTIN-14. ITF-14 is the low-cost choice for corrugated cartons printed directly on a press, tolerating rough print at the cost of a wider symbol and no extra data. GS1-128 produces a narrower symbol and can carry additional AIs — lot, expiry, SSCC — which is why it dominates anything beyond simple fixed-content cartons.
