GS1 Application Identifiers: what do (01), (10), (17) and (21) mean?

The numbers in brackets under a barcode are GS1 Application Identifiers. The most common identifiers, fields that need a separator, date format, ordering and pairs that cannot be used together.

GS1 Application Identifiers (AIs) are two- to four-digit prefixes that say what each piece of data in a barcode is. (01) shows that a GTIN follows, (10) a batch number, (17) an expiry date and (21) a serial number. Thanks to these prefixes, a scanner gets several pieces of data separately from a single code. The brackets in the human readable line of the label are for people only; they are not encoded in the barcode.

Why is an Application Identifier needed?

An EAN-13 barcode carries only the GTIN. If a batch, date or serial number is to be written too, the scanner has to know which digits belong to what. For this, GS1 defines a prefixed element string: first the identifier, then the data. This string is written with the same logic into carriers such as GS1-128, GS1 DataMatrix and GS1 QR Code. As of January 2026, GS1's Application Identifier dataset contains 541 identifiers, but in the field a few dozen do most of the work.

Which ones are used most often?

AIDataFormat
00SSCC, logistic unit number18 digits
01GTIN, product number14 digits
02GTIN of the products contained in a logistic unit14 digits
10Batch or lot numberUp to 20 characters
11Production dateYYMMDD
15Best before dateYYMMDD
17Expiry dateYYMMDD
21Serial numberUp to 20 characters
22Consumer product variantUp to 20 characters
37Count of items in a logistic unitUp to 8 digits
310nNet weight (kg), n is the number of decimal places6 digits
400Purchase order numberUp to 30 characters
410Ship to / deliver to (GLN)13 digits
414Physical location (GLN)13 digits

Remember that in a barcode the GTIN is always padded to 14 digits. A leading zero is added to a 13-digit number. We cover the (00) identifier used on pallet labels in detail in the SSCC article.

Which fields need a separator?

The length of some identifiers is predefined by GS1. Because the scanner knows where such a field ends, no separator is needed after it. The GS1 General Specifications define this group by its first two digits: 00, 01, 02, 03, 11, 12, 13, 15, 16, 17, 20, 31-36 and 41. The standard also states that this list will not change.

All other identifiers, even if their length is fixed, are closed with a separator when further data follows. For example, the country of origin identifier (422) is always three digits but needs a separator because it is not on the list. No separator is placed after the last field.

The separator depends on the carrier:

  • GS1-128: The FNC1 character.
  • GS1 DataMatrix: FNC1 or the GS character (ASCII 29).
  • GS1 QR Code: The GS character or the percent sign.

Whichever carrier it reads from, the scanner outputs the separator as the GS character. An example: (01)09521234500001(10)ABC123GS250504. Because the batch number is variable length, a separator is needed before the production date that follows it.

How are dates written?

Date identifiers (11, 13, 15, 16, 17) are written with six digits in year-month-day order: 271231 for 31 December 2027. If the day is not needed, 00 can be written; this is taken as the last day of the month, and leap years are taken into account. According to the example in the standard, 160200 means 29 February 2016.

There is an important exception to this rule. For regulated healthcare products, 00 has not been allowed in the day digits since 1 January 2025; the actual day must be written. There is also a window for the year: a two-digit year is interpreted within a range from 49 years in the past to 50 years in the future.

In what order should they be written?

Apart from a few recommendations, the standard leaves the order open:

  1. The GS1 key (for example 01) should be written first.
  2. Fields of predefined length should come before variable-length fields. This reduces the number of separators and makes the code smaller.
  3. Variable-length fields are left to the end.

A sequence following these recommendations looks like (01)(17)(10)GS: GTIN and date first, batch and serial number at the end. In Türkiye, the 2D code on medicine packs also carries the GTIN, serial number, expiry date and batch number with these four identifiers. The order may vary according to the arrangement set by sector rules.

Which identifiers cannot be used together?

GS1 treats some pairs as invalid and makes others mandatory associations. The ones met most often in the field:

RuleExample
Invalid pair(01) and (02) cannot be in the same code
Invalid pair(01) and (37) cannot be used together; the count is written on the logistic unit
Invalid pairThe same code cannot contain two (01) with different values
Mandatory associationIf (10) is present, (01), (02), (03), (8006) or (8026) must also be present
Mandatory associationIf (21) is present, (01), (03) or (8006) must also be present
Mandatory associationIf (02) is present, (00) and (37) must also be present
Mandatory associationDate fields are used together with a GTIN

If a pack has more than one carrier, for example both a linear barcode and a 2D code, they must all carry the same identifier and the same values. The linear barcode cannot carry one GTIN and the 2D code another.

How is the human readable line written?

In the human readable interpretation (HRI) under the barcode, identifiers are shown in brackets: (01)09521234500001(10)ABC123. The brackets and the separator character are never encoded in the barcode. Writing the human readable line as text separate from the barcode and then changing it leads to the two not matching. The line must be generated from the same data as the barcode.

Where does Tagvex fit in this data?

Tagvex numbers products at batch or unit level with copy-resistant codes, fits the code into the existing label layout and records every change of hands from the line exit to the dealer. Records can be passed to ERP and warehouse systems through an API. You set the GTIN, batch number and dates to be written into the barcode with your company prefix and your own records. The Tagvex record does not replace this GS1 data. We look at the choice between batch and serial numbers in the serial number verification article.

Sources

Meeting request

The right numbering level for your product is set through a needs analysis.

The first meeting reviews your product, sales channels and the risks you face, and recommends a suitable method.

Request a meeting