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.

80px

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 symbologyCode 128 with a leading FNC1
Data structureGS1 application identifiers, e.g. (01) GTIN, (10) batch, (17) expiry
Character setFull ASCII, subset switching handled automatically
Practical limit48 encoded characters per symbol
Quiet zone10 modules either side
Typical bar height13 mm minimum on logistics labels, 32 mm on SSCC labels
Best forPallet, case and traceability labels between trading partners

How to generate a GS1-128 barcode

  1. 1

    Write the data string as AI and value pairs, for example (01)09501101020917(10)ABC123.

  2. 2

    Order the AIs the way your trading partner's labelling guide specifies.

  3. 3

    Use fixed-length AIs where possible; variable-length elements need a separator when concatenated.

  4. 4

    Set bar height to your partner's minimum, then download SVG for the label template.

  5. 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.

GS1-128 questions

Other barcode formats