Barcode generator / GS1-128
GS1-128 Barcode Generator
Create GS1-128 (UCC/EAN-128) barcodes free online with application identifiers for batch, expiry and SSCC data. Download PNG or SVG, no watermark.
Enter your data with application identifiers in brackets, e.g. (01)GTIN(10)batch.
Preview
No watermark, no signup, unlimited PNG downloads. Rendered in your browser — the value you type never leaves your device. Vector SVG and high-resolution PNG are included with Pro.
What is GS1-128 used for?
GS1-128, historically called UCC/EAN-128, is Code 128 used with GS1 application identifiers. Each AI is a two- to four-digit code in brackets that tells the receiving system what the following data means: (01) is a GTIN, (10) a batch or lot number, (17) an expiry date, (00) an SSCC pallet licence plate.
That structure is what makes GS1-128 the standard on logistics and pharmaceutical labels: one symbol can carry product, batch, quantity, and date in a form every trading partner parses the same way. Enter your bracketed AI string and this generator renders the Code 128 symbol that encodes it.
- Logistics and SSCC pallet labels
- Pharmaceutical batch and expiry
- Food traceability labelling
GS1-128 specification
| Base symbology | Code 128 with a leading FNC1 |
|---|---|
| Data structure | GS1 application identifiers, e.g. (01) GTIN, (10) batch, (17) expiry |
| Character set | Full ASCII, subset switching handled automatically |
| Practical limit | 48 encoded characters per symbol |
| Quiet zone | 10 modules either side |
| Typical bar height | 13 mm minimum on logistics labels, 32 mm on SSCC labels |
| Best for | Pallet, case and traceability labels between trading partners |
How to generate a GS1-128 barcode
- 1
Write the data string as AI and value pairs, for example (01)09501101020917(10)ABC123.
- 2
Order the AIs the way your trading partner's labelling guide specifies.
- 3
Use fixed-length AIs where possible; variable-length elements need a separator when concatenated.
- 4
Set bar height to your partner's minimum, then download SVG for the label template.
- 5
Send a printed proof through their verification process before a production run.
Troubleshooting scan failures
Partner's system does not recognise the data
Confirm the AI sequence and value lengths match their guide exactly. A GTIN under (01) must be 14 digits, zero-padded if necessary.
Brackets appear in the scanned data
Brackets are print-only. If they reach your database, the scanner or middleware is passing the human-readable text rather than the decoded payload.
Symbol is too wide for the label
Split the data across two symbols along partner-approved lines, or drop optional AIs.
Expiry date rejected
AI (17) is YYMMDD. Use 00 for the day when only the month matters.
Need hundreds of codes at once?
Upload a CSV and get every barcode or QR code back in one download — plus editable dynamic QR codes with scan analytics, and an API for programmatic generation.