Guide
GS1 Digital Link and Application Identifiers Explained
Last updated October 7, 2026
A retail barcode holds one number, the product's identifier. Many labels in healthcare, food, logistics and manufacturing need more: which batch, when it expires, which individual item. GS1 solved this with Application Identifiers, and more recently with the GS1 Digital Link, which writes the same data as a web address. This guide explains how both work and how to read them.
Application Identifiers
A GS1 element string is a row of data elements, each starting with an Application Identifier (AI), a two- to four-digit prefix that says what the data means. The most common:
- 01 GTIN, the Global Trade Item Number, 14 digits (shorter GTINs are padded with zeros), with a check digit.
- 10 batch or lot number, up to 20 characters.
- 17 expiration date as YYMMDD; 15 best-before date; 11 production date.
- 21 serial number, up to 20 characters.
- 00 SSCC, the serial shipping container code of a pallet or parcel, 18 digits.
- 310n to 369n: weights, lengths, areas and volumes, where the last digit n says how many decimal places the six-digit value has.
- 410 to 417: Global Location Numbers (GLN) for ship-to, bill-to and other parties.
On a label the elements are often printed in brackets for people, such as (01)09506000134352(10)ABC123(17)261231. The brackets are not in the barcode.
Fixed and variable length, and FNC1
Some elements always have the same length (the GTIN is always 14 digits, a date always six), so the next element follows immediately. Others vary (batch, serial). After a variable-length element a separator is needed unless it is the last, and GS1 barcodes use a special character, FNC1, which scanners report as the ASCII group separator (character 29). If a scanner is configured to drop it, the first variable-length element appears to run to the end of the data. A decoder can warn about that situation but cannot repair it.
Barcode types
GS1 element strings are carried in GS1-128 (a linear Code 128 variant), GS1 DataMatrix (a two-dimensional square code common on pharmaceuticals and small items), GS1 QR Code, GS1 DataBar and EAN/UPC (which carry only the GTIN). A scanner reports a symbology identifier, such as ]d2 for GS1 DataMatrix, ]C1 for GS1-128 and ]Q3 for GS1 QR code, that tells software to interpret the data as GS1.
Check digits
GTINs, SSCCs, GLNs and some other keys end with a check digit calculated modulo 10: digits are weighted alternately by 3 and 1 from the right and the check digit brings the sum to a multiple of 10. A wrong check digit usually means a typing or printing error. A right one proves only that the number is consistent, not that it was ever issued to a product.
GS1 Digital Link
The GS1 Digital Link standard (release 1.7.0 ratified in August 2026) expresses the same data as a web address, so that one QR code can serve both a phone camera and a supply-chain scanner. The path starts with a primary key and its qualifiers in a fixed order, for a GTIN the consumer product variant, the batch and the serial number: https://id.gs1.org/01/09506000134352/10/ABC123/21/12345. Other data attributes follow as query parameters using their AI numbers, for example ?17=261231, next to unrelated parameters such as the link type. Compressed forms of the address exist and shorten the code.
Reading one
The GS1 Barcode & Digital Link Decoder reads a QR, DataMatrix or Code 128 barcode from an image or PDF, or text you paste, splits it into elements, explains each one, verifies check digits and dates, and parses uncompressed Digital Link addresses, in your browser. It works from a fixed list of Application Identifiers, so a newer identifier is shown as unknown. To prepare a poor scan, crop the code and, if needed, set the DPI label or convert the page with PDF to JPG first. For payment QR codes, which are a different family, see European payment QR codes compared.