How Application Identifiers work
An AI is not part of the business value itself. It is metadata that tells a receiving system how to interpret the next field. For example, 01 means the next field is a 14-digit GTIN, while 17 means the next six digits represent an expiration date in YYMMDD format.
The AI also points to rules: whether the field is numeric or alphanumeric, fixed or variable length, and which other elements it may accompany. GS1 defines many more AIs than the examples on this page; implementations should use the official dictionary rather than a small handwritten list.
Four common GS1 Application Identifiers
| AI | Meaning | Format | Human-readable example |
|---|---|---|---|
| 01 | Global Trade Item Number | 14 numeric digits | (01)09520123456788 |
| 10 | Batch or lot number | Up to 20 characters | (10)ABC123 |
| 17 | Expiration date | 6 numeric digits, YYMMDD | (17)270101 |
| 21 | Serial number | Up to 20 characters | (21)SERIAL9 |
AI (01) identifies the trade item. AI (10) and AI (21) can qualify it at batch or instance level. AI (17) adds date information. Their exact data relationships remain governed by the GS1 General Specifications.
Fixed-length and variable-length fields
With a fixed-length AI, the parser knows exactly where the value ends. AI (01) always consumes fourteen GTIN digits, and AI (17) consumes six date digits. Another AI can follow immediately because there is no boundary ambiguity.
AI (10) and AI (21) are variable length. They can end before their maximum, so an encoded element string needs a separator when another element follows. Without that signal, a parser could mistake the next AI and its data for part of the batch or serial value.
Parentheses are for human-readable notation
People often write (01)09520123456788(10)ABC123 because the parentheses make the AI boundaries obvious. The parentheses are not generally encoded as data characters in a GS1 barcode. Scanner output may instead include symbology identifiers, FNC1 effects or group-separator characters.
A parser therefore needs to know which representation it received. ProductPassKit accepts bracketed human-readable input as well as common element-string and scanner-oriented forms, then reports the detected representation.
FNC1 and separator concepts
FNC1 has two related jobs in GS1 barcode workflows. At the beginning, it helps identify GS1-formatted data in symbologies that support that mechanism. After a variable-length field, its separator effect marks the end of the field when more data follows.
(01)09520123456788(10)ABC123(17)270101In human-readable notation the parentheses show boundaries. In encoded element-string data, the variable AI (10) needs a separator before AI (17) because the batch is shorter than its maximum length.
The exact transmitted character depends on the data carrier and scanner interface. An invisible group separator in scanner data should not be replaced casually with visible punctuation.
The same AIs appear in GS1 Digital Link
Digital Link uses AI numbers as URI keys. A primary identifier and key qualifiers appear in the path, while data attributes can appear in the query string. Percent encoding handles characters that cannot be written literally in a URI.
https://example.org/01/09520123456788/10/ABC123?17=270101The AI vocabulary is the same; the representation changes from element-string syntax to web URI syntax.
Sources and standards
Technical statements in this guide are grounded in current GS1 primary sources. The explanations are paraphrased for practical use.
- GS1 Application Identifier referenceCurrent official searchable AI dataset.
- GS1 General Specifications, release 26.0Normative AI definitions, formats and separator rules.
- GS1 2D Barcodes at Retail POS GuidelinePractical element-string, FNC1 and Digital Link examples.