Free GS1-128 Barcode Generator

Encode GTIN, batch, expiry date and more in a GS1-128 barcode. Type the data with application identifiers in brackets and download PNG or SVG.

1

选择条形码格式

2

输入内容

3

调整外观

4

预览条形码

贴在商品标签上的效果

GS1-128

Overview

What is a GS1-128 barcode?

A GS1-128 barcode is a Code 128 barcode that follows GS1 rules for logistics data. It starts with a special FNC1 character and carries one or more pieces of information, each introduced by an application identifier (AI) in brackets: (01) for the GTIN, (10) for a batch or lot number, (17) for an expiry date, (21) for a serial number, (00) for a pallet’s SSCC, and many more.

This lets a single scan tell a warehouse not just what the product is, but which batch it belongs to and when it expires — essential for food, pharmaceuticals and any goods that must be traced or rotated. GS1-128 is the barcode on most pallet labels and many case labels, often printed alongside an ITF-14 or as part of a GS1 logistics label.

The brackets are printed in the human-readable text but not encoded in the bars; the generator handles that for you. The bars only carry the number. For retail and trading partners, the number itself must come from GS1.

Use cases

Where GS1-128 is used

Supply chains that need more than a product number.

Pallet labels

The SSCC (00) identifies each pallet from factory to store.

Food traceability

Batch (10) and best-before (15) or expiry (17) dates on cases.

Pharmaceuticals

Lot and expiry on cases and shipping units.

Variable-weight products

Net weight AIs such as (3103) for meat, cheese and produce cases.

Retail distribution

Distribution centres scan case and pallet labels on receipt.

Serialised goods

Serial numbers (21) for electronics and equipment.

How it works

How to create a GS1-128 barcode

Write the data as AIs in brackets.

  1. 1

    Collect your data

    GTIN, batch, expiry date (YYMMDD), serial or SSCC — whatever your trading partner requires.

  2. 2

    Type it with AIs

    Select GS1-128 and enter the data, for example (01)09521234543213(10)A123(17)271231. Fixed-length fields first, variable ones last.

  3. 3

    Download and test

    Download PNG or SVG and scan it with a GS1-capable scanner to check each field.

Best practices

Tips for GS1-128 labels

Most errors come from field formats.

  • Put fixed-length AIs first

    GTIN (01), dates (17) and weights (310x) have fixed lengths; place variable fields such as batch (10) and serial (21) at the end.

  • Use YYMMDD dates

    Dates are six digits: 31 December 2027 is 271231. A day of 00 means the end of the month.

  • Keep it under 48 characters

    The standard allows up to 48 data characters per symbol. Split longer data across two barcodes.

  • Follow your partner’s label spec

    Retailers and logistics providers define which AIs they need and where the label goes.

  • Show the data in readable text

    Print each AI and its value below the bars, such as (10) A123, so people can check and type the data when a label is damaged.

  • Print large enough

    GS1-128 gets wide with more data. Make sure the narrowest bar stays at least 0.25 mm.

FAQ

Frequently asked questions

What is a GS1-128 barcode?

A GS1-128 barcode is Code 128 with a leading FNC1 character and GS1 application identifiers, used to encode product, batch, date, weight and shipping data.

How do I create a GS1-128 barcode?

Select GS1-128 in the generator above, enter your data with AIs in brackets, such as (01)…(10)…, and download PNG or SVG.

What is a GS1-128 label?

A logistics label with one or more GS1-128 barcodes plus readable text, usually showing the SSCC, GTIN, quantity and dates of a case or pallet.

What is the FNC1 character?

A special Code 128 character that marks the barcode as GS1-128 and separates variable-length fields. The generator inserts it automatically.

What are application identifiers?

Numeric prefixes in brackets that say what the following data means, such as (01) GTIN, (10) batch, (17) expiry date or (00) SSCC.

What is GS1-128 expanded?

Expanded usually refers to GS1 DataBar Expanded, a different symbology used on variable-weight retail items. GS1-128 is the logistics barcode.

What is the difference between GS1-128 and Code 128?

GS1-128 is Code 128 with FNC1 and GS1 data rules. Plain Code 128 carries any text without that structure.

Is it also called UCC-128 or EAN-128?

Yes. Those are older names for the same barcode, and you will still see them in older label software and partner specifications.

Do I need GS1 membership?

For GTINs and SSCCs used with trading partners, yes. The barcode itself can be created here for free.

How long can a GS1-128 be?

Up to 48 data characters in one symbol, and the printed barcode should not exceed about 165 mm wide.

Is the GS1-128 generator free?

Yes. Unlimited barcodes in PNG and SVG, with no watermark or sign-up.

Why is my GS1-128 rejected?

Common causes are wrong field lengths, a wrong date format, a missing check digit in the GTIN, or variable fields placed before fixed ones.

Can I encode an SSCC?

Yes. Use AI (00) followed by the 18-digit SSCC, for example (00)095012345678901234.

Can I put several barcodes on one label?

Yes. Standard GS1 logistics labels often stack two or three GS1-128 barcodes, for example one with the SSCC and one with GTIN, batch and expiry.

Should I use GS1-128 or a 2D code?

GS1-128 remains the standard on most pallet and case labels. GS1 DataMatrix is used where space is small or more data is needed.

Create your GS1-128 barcode

Logistics barcodes with batch, dates and more — free.

Start for free