A GS1 Digital Link has a fixed layout. This page walks through it with one example so you can read any address you meet.
https://example.com/01/09520123456788/10/ABC1/21/12345?17=261231
https://example.comDomain you control/01/09520123456788GTIN, always 14 digits/10/ABC1Batch or lot/21/12345Serial number?17=261231Expiry date, YYMMDDOrder inside the path is fixed: (22) variant, then (10) batch or lot, then (21) serial number. Data such as the expiry date goes after the ?.
The parts
| Part | In the example | Meaning |
|---|---|---|
| Domain | https://example.com | Who answers when the link is opened. GS1 runs a resolver at id.gs1.org, but GS1 says the domain name does not matter and brand owners are expected to use their own. |
| Key (GTIN) | /01/09520123456788 | 01 says the next value is a GTIN. It is always written with 14 digits. |
| Qualifier: batch or lot | /10/ABC1 | Narrows the product to one batch. |
| Qualifier: serial number | /21/12345 | Narrows it to one single item. |
| Data attribute: expiry date | ?17=261231 | Extra information in the query string. 17 is the expiry date as YYMMDD, here 31 December 2026. |
Rules worth knowing
- The GTIN is written with 14 digits. A GTIN-8, GTIN-12 or GTIN-13 is padded with leading zeros. The EAN-13
9520123456788becomes09520123456788. - Qualifiers keep a fixed order. They may be left out, but the order is consumer product variant (
22), then batch or lot (10), then serial number (21). A path with21before10is not valid. - Information such as the expiry date goes in the query string as
key=valuepairs, after the?. - The check digit must be right. The last digit of a GTIN is calculated from the others.
How the check digit is calculated
Take the GTIN without its last digit. Starting from the right, multiply the digits alternately by 3 and 1, add them up, and the check digit is the number that brings the total up to the next multiple of 10.
For 0952012345678 (the example without its check digit): the weights from the right are 3, 1, 3, 1 and so on, the sum is 82, and the next multiple of 10 is 90, so the check digit is 8. That gives 09520123456788.
The generator does this for you and tells you when a number's check digit does not match.
What the address does not prove
An address in the right format is not a registered product. The format check says the structure is valid; whether the GTIN belongs to you is decided by GS1 membership.
Sources
Last updated and checked against the sources on 13 October 2026. Standards change, so check the source for the current wording.
- GS1 Digital Link: URI syntax (ref.gs1.org)
- GS1 support: does everyone have to use id.gs1.org?
- GS1 General Specifications
Frequently asked questions
Can I use my own domain?
Yes. The address can use any domain you control, as well as GS1's reference resolver at id.gs1.org.
Do the batch and serial parts have to be there?
No. Only the GTIN is needed. Batch, serial number and the other parts are optional, but when present they follow the fixed order.
Why 14 digits when my barcode has 13?
The standard writes every GTIN with 14 digits in these addresses, using leading zeros as filler.