GS1 Digital Link
GS1 Digital Link is a URL-based encoding for product identity that replaces the 50-year-old 1D EAN-13 barcode. One QR carries the GTIN plus batch, expiry, serial, and a resolvable marketing URL — scanned at POS by the retailer and in the consumer's phone camera by the shopper.
Supersedes: Regular EAN-13 at POS by 1 January 2027 under the GS1 Sunrise 2027 retail-industry commitment.
What it is
A GS1 Digital Link URL has three parts:
- Resolver domain — where the URL is resolved. Brands use their own (e.g.
id.example-brand.com); the public fallback isid.gs1.org. - Primary identifier — usually the GTIN, encoded as
/01/<14-digit GTIN>. - Qualifiers / attributes — optional Application Identifiers (AIs): batch/lot (
/10/), expiry date (/17/), serial (/21/), and others.
Example resolved URL for a GTIN 09506000134352, lot ABC123, expiry 2027-06-30:
https://id.gs1.org/01/09506000134352/17/270630/10/ABC123Canonical test vectors
Copy any of these into the GS1 generator, confirm the encoded URL matches, and decode the QR with any reader.
| Case | Inputs | Expected encoded URL |
|---|---|---|
| GTIN-14, minimal | gtin=09506000134352 | https://id.gs1.org/01/09506000134352 |
| GTIN + expiry (AI 17) | gtin=09506000134352 | https://id.gs1.org/01/09506000134352/17/270630 |
| GTIN + lot (AI 10) | gtin=09506000134352 | https://id.gs1.org/01/09506000134352/10/ABC123 |
| GTIN + lot + serial | gtin=09506000134352 | https://id.gs1.org/01/09506000134352/10/ABC123/21/00001 |
| Full: GTIN + expiry + lot + serial | gtin=09506000134352 | https://id.gs1.org/01/09506000134352/17/270630/10/ABC123/21/00001 |
| Custom resolver domain | domain=https://id.example.com | https://id.example.com/01/09506000134352 |
Live GTIN check-digit validator
GS1 check digit is computed by the standard GS1 mod-10 algorithm: weighted sum of digits (alternating 3, 1, 3, 1…) from the rightmost digit, then the check digit makes the total a multiple of 10. Try any 8/12/13/14-digit input below — the validator runs locally in your browser.
Common pitfalls
- Wrong check digit. If the last digit of your GTIN is wrong, POS scanners will reject the code. The validator above catches this in-browser. Never hand-edit a GTIN without re-computing the check digit.
- Date format. GS1 expiry (AI 17) is
YYMMDD, notYYYY-MM-DD. A 2030-03-01 expiry is300301. Hand-editing a 10-digit date into the URL breaks decoders. - Lot characters. AI 10 (lot) is a variable-length alphanumeric field capped at 20 characters. Some legacy scanners fail on the
/character in a lot code — if your factory numbering uses slashes, escape as%2F. - Serial uniqueness. AI 21 (serial) combined with AI 01 (GTIN) must be unique within your brand. If two identical serials hit the resolver, the GS1 resolver returns the last-registered target — usually not what you want.
- Resolver domain fallback. If your brand domain isn't reachable (DNS outage, SSL expiry), the consumer's scan fails. Register with the public id.gs1.org resolver as a fallback.
- GTIN-12 (UPC-A) padding. A US UPC-A is 12 digits. In GS1 Digital Link, it's padded to a 14-digit GTIN by prepending two zeros. Abundera handles this automatically; custom encoders often don't.
Scanner compatibility
| Scanner | Support | Notes |
|---|---|---|
| iOS Camera (iOS 15+) | Yes | Opens the resolved URL in Safari. No GS1 awareness — it's just a URL. |
| Android Camera | Yes | Same as iOS — treats the payload as a URL. |
| Retail POS (Honeywell, Zebra, Datalogic) | Yes (firmware-dependent) | Modern firmware (2023+) parses the Digital Link and extracts GTIN + qualifiers into the POS inventory system. |
| Older retail POS | Partial | Older imager firmware reads the URL but doesn't parse AIs. Pair with a complementary EAN-13 barcode during the 2025–2027 transition. |
| Google Lens | Yes | Recognises GS1 Digital Link URLs and can display product info inline. |
Sunrise 2027 timeline
- Now → 2026: Pair GS1 Digital Link with EAN-13 on-pack during the migration window. Retailers accept both.
- 1 January 2027: Retailers commit to scanning 2D Digital Link codes at POS. Legacy EAN-13 continues to work but becomes optional.
- Post-2027: 2D Digital Link becomes the primary product code. EAN-13 gets phased out as scanner fleets complete refresh.
See also
- /gs1-digital-link-qr-code/ — the generator with the GTIN validator inline.
- /standards/ — back to the standards index.
- /test-vectors/ — round-trip fixtures used by our CI.