GS1-128 barcode generator
GS1-128 carries a product number together with batch, expiry, weight or a shipping container code, each marked by an Application Identifier (AI) in brackets. The generator checks each AI's length, dates and check digits before drawing the code.
Size with quiet zones136.1 × 38.1 mm5.36 × 1.50 in
Larger than common sticker labels: use a custom label size or a smaller module.
Encoded: (01)09521234543213(17)271231(10)LOT42
How to use it
- Write each AI in brackets followed by its value, for example (01)09521234543213(17)271231(10)LOT42.
- Leave out the check digit of a GTIN (01) or SSCC (00) and it is added for you.
- Dates are YYMMDD. Day 00 in (15) or (17) means the last day of that month.
- Keep the module at 0.495 mm or more and the bars at least 31.75 mm tall on logistics labels.
Common Application Identifiers
| AI | Meaning | Format |
|---|---|---|
| (00) | SSCC, serial shipping container code | 18 digits with check |
| (01) | GTIN of the item | 14 digits with check |
| (02) | GTIN of items in a logistics unit, with (37) | 14 digits with check |
| (10) | Batch or lot | up to 20 characters |
| (11), (13) | Production, packaging date | YYMMDD |
| (15), (17) | Best before, expiry date | YYMMDD |
| (21) | Serial number | up to 20 characters |
| (30), (37) | Count of items | up to 8 digits |
| (310n) | Net weight in kg, n decimals | 6 digits |
| (400) | Purchase order number | up to 30 characters |
| (410)–(416) | Location numbers (GLN) | 13 digits with check |
| (420) | Ship-to postal code | up to 20 characters |
| (90)–(99) | Internal data agreed with partners | up to 30 / 90 characters |
Limits
A GS1-128 code holds at most 48 data characters (AIs included) and should be no wider than 165 mm. Split longer data across two codes.
Questions
- Why are the brackets not in the barcode?
- Brackets are only in the printed text. In the bars, AIs are separated by the FNC1 character, which the generator inserts.
- Can I put any text in (10)?
- Letters, digits and the GS1 set of punctuation: ! " % & ' ( ) * + , - . / : ; < = > ? and _. Brackets cannot be used inside a value here.