GS1-128 barcode generator

Code 128 with GS1 structure: application identifiers in brackets carry the GTIN, expiry, batch, serial and more, so any scanner in the supply chain reads the same fields. Every AI is checked for length and format before the symbol is drawn.

Free · no signup · no limits
SVG, PNG at 600 dpi, PDF, label sheets

1 · Which barcode?

Retail
General
Logistics
2D
More

Need a QR code instead? QR Studio home →

2 · Content · GS1-128

(AI)value pairs. Common AIs: 01 GTIN, 10 batch, 17 expiry YYMMDD, 21 serial, 00 SSCC.

Encoded: (01)09501234567891(17)261231(10)LOT42 (example, until you enter data)

3 · Size and print

At 300 dpi each bar is 6 printer dots = 0.508 mm. The PNG uses exactly that.

Rendering…
Example · add your data in step 2
  • Enter the GS1 data as (AI)value pairs, for example (01)09501234567891(17)261231(10)LOT42.
  • This barcode is valid and will scan. It is only a registered product code if GS1 licensed the number to you (or your brand owner assigned it). Retailers and marketplaces such as Amazon check numbers against GS1's database; made-up numbers are rejected there.

4 · Download

SVG and PDF are vectors at the exact millimetre size shown. The PNG uses a whole number of printer dots per bar so nothing blurs. Generated in your browser; nothing is uploaded.

Questions about GS1-128 barcodes

What are application identifiers?

Two-to-four digit codes that say what the following data is: (01) is the GTIN, (10) the batch, (17) the expiry date, (21) the serial number, (00) the SSCC pallet id. The generator checks each one.

Why does it reject my GTIN?

AI (01) needs exactly 14 digits with a valid check digit. Pad a 13-digit EAN with a leading zero.

How is it different from Code 128?

Same bars, plus a special start character that tells scanners the data follows GS1 rules. Use plain Code 128 for internal codes, GS1-128 when trading partners scan it.

Other barcodes