Connected product data

GS1 Application Identifiers Explained

GS1 Application Identifiers (AIs) are short numeric prefixes that define the meaning and expected format of the data that follows. They allow one barcode, element string or Digital Link URI to carry multiple data elements without confusing a GTIN with a batch, date or serial number.

Published 2026-09-218 min read

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

AIMeaningFormatHuman-readable example
01Global Trade Item Number14 numeric digits(01)09520123456788
10Batch or lot numberUp to 20 characters(10)ABC123
17Expiration date6 numeric digits, YYMMDD(17)270101
21Serial numberUp 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)270101

In 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.

Sources and standards

Technical statements in this guide are grounded in current GS1 primary sources. The explanations are paraphrased for practical use.