A practical guide to GS1 Application Identifiers: common AIs for GTIN, lot, expiry, serial and logistics; fixed versus variable length; FNC1 separators; and Digital Link placement.
How Application Identifiers make data unambiguous
A barcode can carry several values in one scan. Without a shared dictionary, the receiving system would not know whether 271231 is a date, quantity or internal code. AIs give each field a defined data title, character set and length.
The parenthesized form is called human-readable AI notation. In encoded GS1 element strings, parentheses are omitted. The barcode symbology and separators tell a conforming decoder how to read the fields.
Common GS1 Application Identifiers
| AI | Meaning | Data format | Typical role |
|---|---|---|---|
(00) | SSCC | 18 numeric | Logistic unit identifier |
(01) | GTIN | 14 numeric | Trade item identifier |
(10) | Batch or lot | Up to 20 characters | Traceability |
(11) | Production date | 6 numeric, YYMMDD | Date attribute |
(15) | Best-before date | 6 numeric, YYMMDD | Date attribute |
(17) | Expiration date | 6 numeric, YYMMDD | Date attribute |
(21) | Serial number | Up to 20 characters | Item-level identity |
(30) | Variable count | Up to 8 numeric | Quantity |
(37) | Count of trade items | Up to 8 numeric | Logistic quantity |
(414) | Physical location GLN | 13 numeric | Location identifier |
This is a practical subset, not the complete dictionary. GS1 defines more than 100 AIs covering identifiers, dates, dimensions, amounts, locations, logistics and sector-specific data. Use the current GS1 General Specifications or GS1 Barcode Syntax Resource rather than inventing prefixes.
Fixed length, variable length and FNC1
Fixed-length field
0109520123456788The decoder knows exactly where GTIN ends, so no field separator is needed after it.
Variable-length field
10ABC123<GS>2112345If a variable field is not last and uses fewer than its maximum characters, an FNC1 separator—seen in scan data as ASCII Group Separator—marks its end.
Ordering fixed-length data before variable-length data can reduce separator needs, but AI combinations and ordering are governed by GS1 rules. Never assume parentheses are separators: they are not encoded in the element string.
The same AIs inside GS1 Digital Link
Digital Link uses numeric AI keys inside a URI, allowing the same GS1 meanings to travel in a web-compatible syntax:
(01)09520123456788(17)271231(10)ABC123https://id.example.com/01/09520123456788/10/ABC123?17=271231The order changes because URI roles matter: GTIN is the primary key, lot is a key qualifier in the path, and expiry is a data attribute in the query. A correct transformation is semantic, not a mechanical replacement of parentheses with slashes.
Practical rules for using AIs
- Use AI (01) with a 14-digit GTIN, including any required leading filler zeroes.
- Keep each value within its permitted character set and length.
- Encode dates as YYMMDD and validate that the date is meaningful for the business process.
- Terminate variable-length data when another element follows and a separator is required.
- Check mandatory associations and invalid combinations—not every individually valid AI can appear with every other AI.
- Use the Barcody GS1 AI parser to inspect an element string, then confirm production data against official GS1 rules.
Authoritative references
- GS1 Application Identifiers—official overview and key concepts.
- GS1 Barcode Syntax Resource—the current AI dictionary-driven syntax tool.
- GS1 Digital Link Standard: URI Syntax—how AI semantics map into URI paths and queries.