GS1-128 application identifiers for logistics labels
A reference for the application identifiers (AIs) that turn up on pallet and carton labels: what each one means, the format of its data, and whether it needs an FNC1 separator after it in a GS1-128 barcode.
The table
These are the 12 AIs this site's library validates. The table is generated from the library itself, and the library is tested against the GS1 Application Identifiers reference, so what you read here is what the tools enforce. GS1 defines several hundred AIs in total. For any that are not here, use the GS1 reference.
| AI | Data title | Meaning | Format | Check digit | FNC1 after it |
|---|---|---|---|---|---|
| (00) | SSCC | Serial Shipping Container Code (SSCC) | N2+N18 | Yes | No |
| (01) | GTIN | Global Trade Item Number (GTIN) | N2+N14 | Yes | No |
| (02) | CONTENT | Global Trade Item Number (GTIN) of contained trade items | N2+N14 | Yes | No |
| (10) | BATCH/LOT | Batch or lot number | N2+X..20 | No | Yes, unless it is last |
| (11) | PROD DATE | Production date (YYMMDD) | N2+N6 | No | No |
| (15) | BEST BEFORE or BEST BY | Best before date (YYMMDD) | N2+N6 | No | No |
| (17) | USE BY or EXPIRY | Expiration date (YYMMDD) | N2+N6 | No | No |
| (37) | COUNT | Count of trade items or trade item pieces contained in a logistic unit | N2+N..8 | No | Yes, unless it is last |
| (400) | ORDER NUMBER | Customers purchase order number | N3+X..30 | No | Yes, unless it is last |
| (410) | SHIP TO LOC | Ship to / Deliver to Global Location Number (GLN) | N3+N13 | Yes | No |
| (420) | SHIP TO POST | Ship to / Deliver to postal code within a single postal authority | N3+X..20 | No | Yes, unless it is last |
| (421) | SHIP TO POST | Ship to / Deliver to postal code with ISO country code | N3+N3+X..9 | No | Yes, unless it is last |
Reading the format column
Nmeans digits only.Xmeans any character from the GS1 AI encodable character set 82: letters, digits and! " % & ' ( ) * + , - . / : ; < = > ? _. There is no space in the set.- A plain number is an exact length:
N18is exactly 18 digits. Two dots mean "up to":X..20is 1 to 20 characters. - The first part is the AI itself:
N2+N18is a two-digit AI followed by 18 digits, 20 characters in all. - Dates are
YYMMDD. The GS1 reference allows day00when only the month is known.
Which AIs need an FNC1 after them
The last column is the one to get right, because a scanner cannot tell where a value ends without it. The rule is in sections 7.8.3 to 7.8.6 of the GS1 General Specifications: an element string needs a separator after it unless it is the last one in the barcode, or its AI begins with one of the two-digit pairs in table 7-6. Those pairs are the complete list of predefined lengths, and GS1 states the table will remain unchanged:
| AI starts with | 00 | 01 | 02 | 03 | 04 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 31 | 32 | 33 | 34 | 35 | 36 | 41 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Total length | 20 | 16 | 16 | 16 | 18 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 4 | 10 | 10 | 10 | 10 | 10 | 10 | 16 |
The total length counts the AI and its data together. Anything not in that list is treated as variable length even if its data field is a fixed size. That is why (410), which starts with 41, needs no separator, while (400), (420) and (421) all do.
A worked example
Section 1.4.2 of the General Specifications uses a GTIN, a batch number and a date. Built with this site's library:
| Printed under the bars | (01)09521234500001(10)ABC123(11)250504 |
|---|---|
| Encoded in the barcode | 010952123450000110ABC123<FNC1>11250504 |
The GTIN (01) has a predefined length, so the batch number follows it directly. The batch number (10) does not, so an FNC1 marks where it ends. The date is last, so nothing follows it. The parentheses are printed for people and are not in the barcode.
AIs that go together, and AIs that cannot
The GS1 reference also records pairing rules. For the AIs above:
(01)It cannot be used with (02) or (03) or (255) or (37).(02)must be accompanied by (00) and (37). It cannot be used with (01) or (03).(10)must be accompanied by (01), or (02), or (03), or (8006), or (8026).(11)must be accompanied by (01), or (02), or (8006), or (8026).(15)must be accompanied by (01), or (02), or (8006), or (8026).(17)must be accompanied by (01), or (02), or (255), or (8006), or (8026).(37)must be accompanied by (00) and (02), or (00) and (8026).(420)It cannot be used with (421).(421)It cannot be used with (4307).
The companion AI does not have to be in the same barcode. On a logistic label it is common to have the SSCC in one barcode and the content data in another, which GS1 notes in section 7.8.6.3.
For how these fit into the symbol, see GS1-128 label. For the label that carries (00), see SSCC label. For the ZPL, see the annotated ZPL example.
Make this label now: fill in the shipment, preview it, and copy or download the ZPL.
Open the label generatorSources
- GS1 Application Identifiers reference. GS1. Online reference. Read 9 October 2026.
- GS1 General Specifications Standard. GS1. Release 26.0, ratified January 2026. Read 9 October 2026.