GS1 application identifier (AI) dictionary
What do (01), (17), (10) or (3103) mean inside a barcode? Type a number or a name to see the format, length, whether a separator is needed and an example value; the search runs in your browser and nothing is sent.
151 of 151 identifiers
Format: N digit · X GS1 character set 82 · C character set 39 · X..20 up to 20 characters · [ ] optional part · n number of decimal places
Based on the GS1 General Specifications (compiled from the 2024–2025 editions); identifiers we were not sure about are deliberately left out. For the official, current list see GS1.
01
How to use it
A
Type an identifier number (e.g. 17 or 3103), a name (e.g. lot) or a data title in the box; narrow it down by category.
B
Click a row to open the format, length, FNC1 requirement, check digit and notes.
C
Copy the example value and build your own code or test data accordingly.
02
What is an application identifier?
An application identifier (AI) is a two- to four-digit prefix in front of every data element in a GS1 barcode and tells you what the data that follows is: (01) the trade item number (GTIN), (10) the lot, (17) the expiration date, (21) the serial number, and so on. GS1-128, GS1 DataMatrix and GS1 QR codes all use the same identifiers.
The parentheses in the human-readable form are not part of the code; they only make reading easier. Inside the code the identifier and its data are written one after the other.
03
Length and the FNC1 separator
For some identifiers GS1 predefines the length (00, 01, 02, 11–20, 31–36 and 410–417): the reader knows where the data ends and no separator is needed. For all others, even if they have a fixed length, an FNC1 separator (ASCII 29, GS) is inserted unless the field is at the end of the string.
That is why putting variable-length fields (such as lot or serial number) at the end of the string reduces the number of separators. If a separator is forgotten, the reader takes two fields for one; the table shows the FNC1 requirement for every identifier.
04
Measures, amounts and check digits
The last digit n of measure and amount identifiers (310n–369n, 390n–395n) is the number of decimal places in the value. For example, 3103 with 001234 means 1.234 kg, whereas 3100 with 001234 means 1234 kg. Measures of the trade item (e.g. 311n length) and of the logistic unit (e.g. 331n) have separate identifiers.
The last digit of GTIN, SSCC, GLN, GSIN and similar numbers is a check digit (GS1 mod 10). The detail view states which identifiers carry a check digit and over how many digits it is computed. This page is a reference list; we have separate tools for decoding or verifying your code.
FAQ
- An identifier is missing from the list. Why?
- The list is based on the GS1 General Specifications and is extensive, but identifiers we were not sure about are deliberately left out; very new or special-purpose ones may be missing. For the official, current list see GS1.
- Are an AI and a GTIN the same thing?
- No. A GTIN is the number of a product; an AI is the prefix inside the code that says the number that follows is a GTIN (01). The same code can also hold other identifiers next to the GTIN, such as lot (10), expiration date (17) and serial number (21).
- Why is FNC1 needed and how is it written?
- It tells the reader where a variable-length field ends. In raw data it is the ASCII 29 (GS) character; it does not appear in the human-readable form and tools usually show it as <GS> or ␝.
- What are AIs 91–99 used for?
- Company internal information. Only that company's own systems know the meaning; for information to be shared with trading partners use an identifier with a GS1-defined meaning, or 90 for mutually agreed information.
- Is my search or clicked rows sent anywhere?
- No. The list arrives in your browser with the page, and searching and filtering happen in your browser; no data is sent.
Code generation and verification on your line
Our serialisation software talks directly to printers and cameras, prevents duplicate codes and tracks case–pallet aggregation end to end. Let's design your code structure together.