# GS1 Digital Link in QR codes

> GS1 Digital Link packs product identifiers into a web URL, https://example.com/01/{GTIN}/10/{lot}/21/{serial}, so one QR code opens a product page for shoppers and yields the GTIN for point-of-sale scanners. GS1's Sunrise 2027 programme aims to have retail checkouts scanning 2D codes by the end of 2027.

Source: https://useqr.app/docs/spec/gs1-digital-link-in-qr · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## The problem it solves

Products have carried two codes for years: an EAN/UPC barcode for the till, and often a
separate QR code for marketing. Two symbols, two bits of packaging real estate, two things
to get wrong. [GS1 Digital Link](/glossary/gs1-digital-link) collapses them into one: a QR
code whose payload is a **web URL with the product identifiers embedded in its path**.

A shopper's phone treats it as a link and opens a product page. A point-of-sale scanner
parses the same string, extracts the GTIN, and rings the item up exactly as if it had read
the barcode. One symbol, both audiences.

## The URI syntax

Identifiers ride in the URL path as alternating **GS1 Application Identifier (AI)** codes
and values:

```
https://id.example.com/01/09506000134352/10/ABC123/21/456789
                       │  │              │  │      │  └─ serial number
                       │  │              │  └─ lot value
                       │  │              └─ AI 10 = batch/lot
                       │  └─ GTIN, padded to 14 digits
                       └─ AI 01 = GTIN
```

The rules that matter:

- **AI 01 (GTIN)** is the primary key and comes first, as 14 digits — a 13-digit EAN gains
  a leading zero.
- Key qualifiers follow in a fixed order in the path: **22** (consumer product variant),
  **10** (batch/lot), **21** (serial). Each is optional; you cannot skip the order.
- Other attributes go in the query string, still keyed by AI — an expiry date is
  `?17=270331` (AI 17, YYMMDD), a net weight `?3103=000195`.
- The domain is yours (or a resolver service's). `https://id.gs1.org/01/09506000134352`
  and a brand's own domain are both valid Digital Link URIs carrying the same GTIN.

Because the payload is just a URL, any QR generator can produce one —
[UseQR](/url-qr-code) included; there is no special symbol type. The intelligence is
entirely in the string, so [verify the rendered code decodes](/validate) to *exactly* the
URI you constructed, separators and padding intact — a scanner that reads `01/950600…`
because a leading zero went missing resolves the wrong product. QR here carries no
payload-level checksum of its own (see
[QR checksum and integrity](/docs/spec/qr-code-checksum-and-integrity)), though the GTIN's
final digit is itself a check digit, which catches most single-digit slips.

## The 2D sunrise context

This format exists because the retail world is mid-migration. GS1's **Sunrise 2027**
programme is the industry ambition that retail points of sale worldwide should be able to
scan 2D codes — QR with Digital Link, and [Data Matrix](/docs/basics/qr-code-vs-datamatrix)
in some sectors — by the end of 2027. During the transition, most packaging carries both
the linear barcode and the 2D code side by side; the linear code goes away only when the
tills catch up, and realistically not everywhere at once.

For a brand, the practical takeaways are on the retail-focused page,
[GS1 Digital Link for retail](/docs/ecommerce/gs1-digital-link-for-retail) — including
resolver strategy (what the URL serves when a human opens it) and how the same code feeds
regulatory pushes like the [EU Digital Product Passport](/docs/ecommerce/eu-digital-product-passport).
Serialised links (a unique `21` value per unit) also mean generating thousands of distinct
codes — a [batch job](/bulk), not a one-off.

## FAQ

### What is a GS1 Digital Link QR code?
A standard QR code whose payload is a web URL with GS1 identifiers embedded in the path — GTIN, batch, serial — so the same scan opens a product page on a phone and identifies the product to a retail scanner. The symbol itself is ordinary QR.

### What does Sunrise 2027 mean?
It is GS1's global programme for retail checkouts to be capable of scanning 2D barcodes by the end of 2027. It does not abolish the linear barcode on that date; packaging typically carries both during the transition.

### Can I make a GS1 Digital Link code with a normal QR generator?
Yes. The format lives entirely in the URL string, so any generator that encodes a URL works. The care goes into constructing the URI correctly — 14-digit GTIN, AI order, query-string attributes — and verifying the printed code decodes to it exactly.

### What is the difference between AI 01, 10 and 21?
They are GS1 Application Identifiers: 01 is the GTIN identifying the product, 10 is the batch or lot, and 21 is the serial number identifying the individual unit. In a Digital Link URI they appear as path segments in that order.

## Try it

- https://useqr.app/url
- https://useqr.app/validate
- https://useqr.app/bulk
