Logistics
GS1-128 barcode: SSCC, expiry date and batch
Shipping cartons and pallets carry more than an item number: batch, best-before date, quantity or the serial shipping container code (SSCC). GS1-128 packs all of this into one barcode – using “application identifiers” that give every value its meaning. Here is how it works and what retailers look for.
Enter application identifiers in brackets – the Barcode Generator checks GTIN check digits and formats and creates the GS1-128 at logistics size.
Create a GS1-128The short version
- In the Barcode Generator, choose GS1-128.
- Enter each value with its application identifier in brackets:
(01)04006381333931(17)271231(10)CH42. - Fixed-length AIs (01, 15, 17 …) first, variable-length ones (10, 21 …) at the end.
- Module width from 0.495 mm, bar height from 32 mm for logistics labels.
The principle: application identifiers
Technically, GS1-128 is a Code 128 with a special start character (FNC1). The difference lies in the content: every value starts with an application identifier (AI) – a 2- to 4-digit number that says what follows. (17) means “expiry date”, (10) means “batch”.
The brackets are not encoded – they only appear in the human-readable text below the barcode so people can tell the parts apart. The scanner passes the values to the warehouse system separately, so it can assign batch and date automatically.
The most important AIs
| AI | Meaning | Format |
|---|---|---|
(00) | SSCC – serial shipping container code | 18 digits incl. check digit |
(01) | GTIN of the item or trade unit | 14 digits (EAN-13 with leading 0) |
(02) | GTIN of contained items (with (37)) | 14 digits |
(10) | Batch / lot | up to 20 characters |
(11) | Production date | YYMMDD |
(15) | Best before date | YYMMDD |
(17) | Expiration date | YYMMDD |
(21) | Serial number | up to 20 characters |
(37) | Count of contained units | up to 8 digits |
(3103) | Net weight in kg, 3 decimals | 6 digits, e.g. 012500 = 12.500 kg |
(400) | Customer’s purchase order number | up to 30 characters |
GS1 maintains the complete list of more than 500 AIs. The generator knows all of them and reports wrong lengths, invalid dates or a wrong GTIN check digit.
Take an example, fill in your values and print the result right away on 99 × 57 mm labels.
Examples
Carton with item, expiry date and batch:
(01)04006381333931(17)271231(10)CH42
Pallet with SSCC (often its own barcode):
(00)340123450000000017
Mixed pallet with contents and count:
(02)04006381333931(37)48(15)271231
Why order matters: the scanner recognizes fixed-length fields by their length. After a variable-length field such as the batch, a separator is needed, which takes extra space. At the end it can be omitted – the code gets shorter. A GS1-128 may contain at most 48 data characters; if everything doesn’t fit, split the data over two barcodes stacked on top of each other.
SSCC: the serial shipping container code
The SSCC (in German “NVE”) identifies a single logistics unit – a pallet or parcel – uniquely worldwide. It has 18 digits:
- Extension digit (0–9), freely chosen, e.g. for different warehouses,
- GS1 company prefix of the shipper,
- serial reference assigned by the company itself,
- check digit calculated like a GTIN (see EAN check digit).
Like a GTIN, an SSCC requires a GS1 company prefix. Large retailers require it on every pallet, usually together with an advance shipping notice, so goods-in can match the pallet with a single scan.
Size and label
- Module width: 0.495 to 1.016 mm for logistics labels. The generator starts at 0.495 mm.
- Bar height: at least 32 mm so hand-held and conveyor scanners hit the code reliably.
- Width: a GS1-128 must not exceed 165 mm.
- Label: the GS1 logistics label is usually A6 (105 × 148 mm) or A5. For cartons, A4 sheets with 99.1 × 57 mm or 99.1 × 38.1 mm labels work – see Print barcode labels.
- Position: on pallets on at least two adjacent sides, between 400 and 800 mm above the floor.
Create your GS1-128 barcode
Application identifiers in brackets, automatic validation, logistics size preset, export as PDF, SVG or label sheet – free and with no upload.
Frequently asked questions
What is the difference between Code 128 and GS1-128?
GS1-128 is a Code 128 with the special character FNC1 at the start and content following GS1 rules (application identifiers). A plain Code 128 holds any text without defined meaning.
What do the numbers in brackets mean?
They are application identifiers. They say what the following value is, e.g. (01) GTIN, (10) batch, (17) expiry date. The brackets themselves are not encoded.
How do I write a date in GS1-128?
Always as six digits YYMMDD, e.g. 271231 for 31 December 2027. If only month and year are known, the day is written as 00.
What is an SSCC?
The serial shipping container code – an 18-digit, globally unique number for a pallet or parcel, encoded with application identifier (00).
Do I need a GS1 membership for GS1-128?
For GTINs and SSCCs yes, since both are based on a GS1 company prefix. The barcode itself can be created with any generator.
How large must a GS1-128 be on a logistics label?
Module width 0.495 to 1.016 mm and bar height at least 32 mm; the total width must not exceed 165 mm.
Sources
- GS1 Application Identifiers, GS1 – the complete list.
- GS1 General Specifications, GS1 – rules for symbol sizes, quiet zones and application identifiers.
- Get barcodes, GS1 – how companies obtain GTINs from their local GS1 organization.