GS1-128 explained: Application Identifiers
GS1-128 looks like an ordinary barcode with brackets in the text. Those brackets are the whole point — they turn raw data into something every supply-chain system understands.
GS1-128 is a barcode standard built on the Code 128 symbology. What sets it apart is structure: instead of encoding free text, it uses Application Identifiers (AIs) to label each piece of data, so a scanner anywhere in the chain knows whether it is reading a product number, a batch, an expiry date or a pallet ID.
What is an Application Identifier?
An AI is a short numeric code, shown in brackets, that declares the meaning of the data that follows it. A single GS1-128 barcode can chain several AIs together. Common ones include:
| AI | Meaning | Example |
|---|---|---|
| (00) | SSCC — serial shipping container code (logistics unit) | (00)123456789012345675 |
| (01) | GTIN — the product number | (01)05601234567892 |
| (10) | Batch / lot number | (10)ABC123 |
| (11) | Production date (YYMMDD) | (11)260720 |
| (17) | Expiry date (YYMMDD) | (17)261231 |
| (21) | Serial number | (21)000042 |
So a single logistics barcode reading (01)05601234567892(10)ABC123(17)261231 says, unambiguously: this GTIN, from this batch, expiring on that date — all in one scan.
How it differs from plain Code 128
| Code 128 | GS1-128 | |
|---|---|---|
| Data | Free text, any structure | Structured via Application Identifiers |
| Special start | None required | Leading FNC1 character |
| Meaning of data | Defined by you | Standardised across all GS1 users |
| Typical use | SKUs, internal labels | Logistics, pallets, regulated supply chains |
Under the hood, GS1-128 is Code 128 — the difference is the leading FNC1 character and the AI conventions that give the data a shared, machine-readable meaning. That is why fixed-length AIs need no separator, while variable-length ones are separated by an FNC1 function character.
Where GS1-128 is used
It is the workhorse of logistics and regulated supply chains: shipping labels, pallet and case labels, and anywhere batch, expiry or serial data must travel with the product number. Retail checkouts still use EAN-13 or UPC-A on the consumer unit; GS1-128 lives on the boxes and pallets behind them.