GS1-128 Generator — Free Logistics Label Barcodes
Use Application Identifiers in parentheses, e.g. (01)09506000134352(17)251231
PNG downloads at 1x–4x resolution.
Preview
PNG for documents & web, SVG for print & designers — always free, no watermark, no signup.
Enter your data with GS1 Application Identifiers in parentheses — e.g. (01)09506000134352(17)251231(10)LOT42 — and the generator structures it into a standards-compliant GS1-128 barcode with the FNC1 handling done for you.
Download PNG up to 4x or SVG vector for label software and print. Free, no signup, no watermark.
What is GS1-128?
GS1-128 (formerly UCC/EAN-128) is not a separate barcode symbology — it's Code 128 carrying GS1-structured data. A leading FNC1 character tells the scanner “GS1 data follows,” and the payload is built from Application Identifiers (AIs): short numeric keys, each defining one piece of supply-chain data. (01) is a GTIN, (17) an expiry date, (10) a batch/lot number, (21) a serial, (310x) a net weight, (00) an SSCC pallet code.
That structure is what makes GS1-128 the universal language of logistics labels: one barcode can answer “what is it, which batch, when does it expire, how much does it weigh” for any scanner, at any company, in any country.
Common Application Identifiers
A complete logistics label might read (01)09506000134352(17)251231(10)L1042 — GTIN, expiry, batch. BarcodeOwl parses the parentheses, inserts the FNC1 separators the standard requires after variable-length fields, and renders the result.
| AI | Meaning | Format |
|---|---|---|
| (01) | GTIN-14 of the trade item | 14 digits |
| (00) | SSCC — Serial Shipping Container Code (pallet) | 18 digits |
| (10) | Batch / lot number | up to 20 alphanumeric |
| (17) | Expiration date | YYMMDD |
| (15) | Best-before date | YYMMDD |
| (21) | Serial number | up to 20 alphanumeric |
| (3103) | Net weight, kg, 3 decimals | 6 digits |
| (37) | Count of units contained | up to 8 digits |
Who requires GS1-128?
- Retail distribution — Walmart, Tesco, Carrefour and most major chains require GS1-128 or ITF-14 on inbound cases and pallets
- Food & fresh produce — batch and date traceability per GS1 and FSMA 204
- Healthcare — GS1-128 and GS1 DataMatrix carry UDI and serialization data
- 3PLs & carriers — SSCC pallet labels (the (00) AI in GS1-128 is the GS1 logistics label standard)
- Marketplace sellers sending case-packed or expiration-dated inventory to Amazon FBA
GS1-128 vs Code 128 vs ITF-14
Same bars as Code 128 — the difference is the data grammar. Plain Code 128 means nothing to a retailer's receiving system; GS1-128 is self-describing. Choose ITF-14 when the label only needs the case GTIN (it prints better on corrugated); choose GS1-128 whenever batch, date, serial or weight must travel with the product. Many shipments carry both: ITF-14 pre-printed on the case, GS1-128 on the applied logistics label.
Printing & verification tips
- Keep the total under 48 characters (the GS1 upper limit for one symbol) — split data across multiple labels if needed
- Print at 300 DPI+ or use thermal printers at native resolution; logistics labels are scanned in motion
- Show the human-readable line with AIs in parentheses (the convention receivers expect) — enable “human-readable text” above
- Preserve quiet zones; never let label edges or tape overlap the bars
- For retailer compliance programs, verify with a GS1 barcode verifier, not just a phone app
Frequently asked questions
Is this GS1-128 generator free?
Yes — unlimited GS1-128 barcodes with FNC1 and AI handling, PNG and SVG downloads, no account and no watermark. You supply GS1-structured data based on your GS1-licensed company prefix.
How do I enter Application Identifiers?
In parentheses, concatenated: (01)09506000134352(17)251231(10)LOT42. BarcodeOwl parses the parentheses and inserts the FNC1 control characters the standard requires, including the separator after variable-length AIs like (10).
What's the difference between GS1-128 and Code 128?
GS1-128 is Code 128 with a leading FNC1 and GS1 Application Identifier data structure. Any scanner can read both, but only GS1-128 is self-describing — a receiving system can parse GTIN, batch and expiry without knowing your numbering scheme.
What is an SSCC and how do I make one?
The Serial Shipping Container Code is an 18-digit pallet identifier: extension digit + your GS1 company prefix + a serial you assign + check digit. Encode it as (00) followed by the 18 digits in the generator above.
Does GS1-128 need a check digit?
Two different answers: the barcode symbol has a built-in mod-103 checksum (automatic), and any GTIN or SSCC inside your data carries its own mod-10 check digit — BarcodeOwl doesn't auto-fill AIs, so paste complete numbers from your GS1 system.
Can I put a URL in a GS1-128 barcode?
No — GS1-128 is for GS1 Application Identifier data only. If you want a scannable link, use the QR code generator instead.
Related barcode generators
- Free barcode generator (all symbologies) →
- Code 128 generator →High-density alphanumeric, logistics & shipping
- ITF-14 generator →Cartons & outer cases (GTIN-14)
- Data Matrix generator →Small parts, electronics, pharma (GS1)
- UPC-A generator →Retail products in the US & Canada