---
title: "GS1 Digital Link explained: GTIN, batch, check digit and how the QR code works"
description: "A complete tutorial on GS1 Digital Link: how a GTIN is built and its check digit computed, what Application Identifiers like 01, 10, 17 and 21 mean, how the web address is put together, what a resolver and a linkset do, QR code versus GS1 DataMatrix, Sunrise 2027, the EU Digital Product Passport and the mistakes that break a code. Every fact sourced to GS1's own standards."
canonical: "https://linkbreakers.com/help/article/gs1-digital-link-explained"
last-updated: 2026-11-08
---

# GS1 Digital Link explained: GTIN, batch, check digit and how the QR code works

> A complete tutorial on GS1 Digital Link: how a GTIN is built and its check digit computed, what Application Identifiers like 01, 10, 17 and 21 mean, how the web address is put together, what a resolver and a linkset do, QR code versus GS1 DataMatrix, Sunrise 2027, the EU Digital Product Passport and the mistakes that break a code. Every fact sourced to GS1's own standards.

![GS1 Digital Link decoded: /01/ introduces the GTIN 09506000134352 and /10/ the batch ABC123, on a pack carrying the QR code](/screenshots/gs1-digital-link-explained.jpg)

## Short answer

**GS1 Digital Link** is a GS1 standard that writes the data of a product barcode into a web address. The barcode on a pack carries a **GTIN** (Global Trade Item Number), the number that identifies the product. GS1 Digital Link puts that GTIN, and data such as the batch and the expiry date, into an address like this:

`https://id.dalgiardino.com/01/09506000134352/10/ABC123?17=271231`

`01` introduces the GTIN, `10` the batch or lot, and `17` the expiry date (31 December 2027). These numbers are **Application Identifiers**, the same ones GS1 has used in barcodes for decades. Put that address in a QR code and one printed code has two readers: a phone camera opens it like any link and lands on a page about the product, and a 2D-capable checkout scanner turns it back into the GTIN, the batch and the expiry date without going online.

This page builds one complete example, using **GS1's own example GTIN 09506000134352**, which belongs to Dal Giardino, a fictitious brand GS1 runs for its demos ("A repository for the fictitious brand, used for GS1 Digital Link demos", [github.com/gs1/dalgiardino](https://github.com/gs1/dalgiardino)). Every fact below comes from GS1's standards or from GS1's live resolver, tested on 8 November 2026.

## How it works

### 1. GS1 and the GTIN

GS1 describes itself as "a neutral, not-for-profit standards organisation", with 120 Member Organisations around the world, and says its barcodes are "scanned more than 10 billion times a day globally" ([GS1 strategy booklet](https://www.gs1.org/docs/gs1-strategy-booklet.pdf)). The first one was scanned on 26 June 1974: a 10-pack of Wrigley's chewing gum at a Marsh supermarket in Troy, Ohio ([GS1 US](https://www.gs1us.org/industries-and-insights/media-center/press-releases/gs1-us-celebrates-50-year-barcode-scanniversary)).

The number inside a retail barcode is a **GTIN**. It identifies a product, not a single pack: every pack of the same product carries the same GTIN. GS1 defines it as "a GS1 Company Prefix, an item reference and check digit" (GS1 General Specifications 26.0, Glossary):

| Part | What it is | On 9506000134352 |
|---|---|---|
| GS1 Company Prefix | "a unique string of four to twelve digits", allocated to a company by its GS1 Member Organisation (GenSpecs 1.2.3.3) | starts with 950 |
| Item reference | the number the company gives each of its products | the digits after the prefix |
| Check digit | computed from all the other digits | 2 |

Where the prefix ends depends on its length, so the split between prefix and item reference differs from one company to the next.

**The first digits are not a country of origin.** They are the GS1 Prefix, which shows which GS1 office allocated the number. GS1 says it plainly: "Since GS1 user companies can manufacture products anywhere in the world, GS1 Prefixes do not identify the country of origin for a given product" ([gs1.org, GS1 Company Prefix](https://www.gs1.org/standards/id-keys/company-prefix)). The same list shows that **950** is GS1 Global Office and **952** is "Used for demonstrations and examples of the GS1 system".

**GTINs come in four lengths:** GTIN-8, GTIN-12, GTIN-13 and GTIN-14 (GenSpecs 1.3.1). A UPC-A barcode carries a GTIN-12 and an EAN-13 barcode carries a GTIN-13 (GenSpecs 2.1.7.1). When a GTIN is written in a 14-digit field, the shorter ones get leading zeros "that simply act as filler digits" (GenSpecs 1.3.1). So the 13-digit GTIN 9506000134352 is written `09506000134352`. That is still the same GTIN-13: GS1 notes that "This 14-digit format is not the same as a GTIN-14" (2D in Retail guideline 7.2.2).

### 2. The check digit, worked out by hand

The last digit is calculated from the others, so a number with one wrong digit does not add up. GS1: "The check digit helps to detect and reject incorrectly composed values e.g., when entering data manually" (GenSpecs 1.3.1). The method (GenSpecs 7.9.1): starting from the digit next to the check digit and moving left, multiply each digit by 3, 1, 3, 1, and so on; add up the results; subtract the sum from the nearest equal or higher multiple of ten.

On GS1's example GTIN, written in 14 digits:

| Digit | 0 | 9 | 5 | 0 | 6 | 0 | 0 | 0 | 1 | 3 | 4 | 3 | 5 | **?** |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Weight | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | |
| Product | 0 | 9 | 15 | 0 | 18 | 0 | 0 | 0 | 3 | 3 | 12 | 3 | 15 | |

The products add up to **78**. The next multiple of ten is **80**, and 80 - 78 = **2**: the last digit printed on the pack.

Two things follow from the method. Because the weights are counted from the right, a leading zero is multiplied by 3 and adds nothing, so the check digit is the same in every length. And because both weights (1 and 3) share no factor with 10, changing any single digit always changes the result: replace the 5 in third position with a 6 and the sum becomes 81, so the check digit would have to be 9. GS1 publishes an [online check digit calculator](https://www.gs1.org/services/check-digit-calculator).

### 3. Application Identifiers: what 01, 10, 17 and 21 mean

A GTIN says which product. A pack also carries data that changes from one production run to the next. GS1 writes each piece behind a short number, the **Application Identifier** (AI), which says what the data after it means. From the GS1 General Specifications, Table 3-1:

| AI | GS1 name | Format | On the example pack |
|---|---|---|---|
| 01 | Identification of a trade item (GTIN) | 14 digits | 09506000134352 |
| 10 | Batch or lot number | up to 20 characters | ABC123 |
| 17 | Expiration date | 6 digits, YYMMDD | 271231 (31 December 2027) |
| 15 | Best before date | 6 digits, YYMMDD | |
| 21 | Serial number | up to 20 characters | one per pack |
| 22 | Consumer product variant | up to 20 characters | |
| 3103 | Net weight, kilograms, 3 decimals | 6 digits | 000411 (0.411 kg) |

In a date, a day of `00` means the last day of the month, leap years included: GS1's own example reads "160200" as "2016 February 29" (GenSpecs 3.4.7). Regulated healthcare products may no longer use `00` since 1 January 2025.

**The brackets are only for people.** A label prints `(01) 09506000134352 (10) ABC123 (17) 271231` so a person can read it, but "Parentheses are not a part of the GS1 Application Identifier and are only used to aid readability" (GenSpecs 1.4.2). Inside a GS1-128 barcode or a GS1 DataMatrix, the values simply follow each other, in what GS1 calls an **element string**:

`010950600013435210ABC123<GS>17271231`

A fixed-length value such as the GTIN (AI 01, always 14 digits) ends on its own. A variable-length value such as the batch needs a separator after it, unless it comes last: "An element string that does not start with two characters defined in Table 7-6 SHALL be terminated by a separator character, unless it is the last element string to be encoded" (GenSpecs 7.8.6.2). That separator is transmitted as the control character `<GS>`, ASCII 29 (GenSpecs 7.8.4).

### 4. The GS1 Digital Link URI, piece by piece

GS1 Digital Link writes the same AIs as a web address. The current standard is the [GS1 Digital Link URI Syntax, release 1.7.0](https://ref.gs1.org/standards/digital-link/uri-syntax/1.7.0/), ratified in August 2026. An address has four parts:

| Part | Example | Rule |
|---|---|---|
| Domain name | `https://id.dalgiardino.com` | any domain, the brand's own or GS1's `id.gs1.org` (URI Syntax 4.12) |
| Primary key | `/01/09506000134352` | the thing being identified; the GTIN in 14 digits since version 1.4.0 (4.1) |
| Key qualifiers | `/10/ABC123` | narrow it down to a batch or a single item, in the path, in a fixed order (4.9) |
| Data attributes | `?17=271231` | everything else, in the query string as key=value pairs, in any order (4.10) |

**The order of key qualifiers is fixed.** For a GTIN the standard allows `/01/{gtin}`, then optionally `/22/{variant}`, then `/10/{batch}`, then `/21/{serial}`, in that order. Any of them can be left out, but they are never reordered: `/01/09520123456788/21/12345XYZ/10/ABC123` is the standard's own example of what it does not permit (URI Syntax 4.9).

**Any domain.** "A GS1 Digital Link URI can be constructed in any domain name [...] to ensure brands can remain in control of the domains they use" (URI Syntax 4.12). The canonical form uses `id.gs1.org`, HTTPS, a 14-digit GTIN, no trailing slash and query keys sorted in lexical order. GS1's 2D in retail guideline uses exactly this example product on the brand's own domain, `https://id.dalgiardino.com/01/09506000134352/10/ABC?17=231231` (Figure 7-16).

**Special characters** in a value are percent-encoded: a lot written `AB/12` becomes `/10/AB%2F12` (URI Syntax 4.2).

**Things that are gone.** Short names such as `/gtin/` instead of `/01/` "were marked as deprecated in version 1.2 of the standard and have been removed completely as of version 1.3.0", because "Experience has shown that the opposite is true" of being developer-friendly (URI Syntax 4.1). A compressed form of the URI exists, but "QR Code or Data Matrix SHALL encode the uncompressed form" (GenSpecs 2.1.13.1).

The result is one address that a phone can open and software can parse back into exactly the AIs a barcode carries: the standard says a conformant URI is "informationally equivalent to the same data expressed in GS1 AI syntax" (URI Syntax 4.11).

### 5. Resolvers, link types and the linkset

A phone that opens the address reaches a **resolver**: a web server that reads the AIs from the path and sends the visitor on. "A GS1-Conformant Resolver connects a GS1-identified object or entity to one or more online resources that are directly related to it" ([GS1-Conformant Resolver Standard 1.2.1](https://ref.gs1.org/standards/resolver/1.2.1/), section 2). The brand's own resolver at `id.dalgiardino.com` sends the example to GS1's demo page for the product, and passes the query string along (`?17=271231` arrives at the page), as the standard requires: "a resolver SHALL transmit the entirety of the query string in the request URI to the target destination" (2.12).

```mermaid
flowchart TD
  A["QR code on the pack"] -->|"phone camera"| R["Resolver reads 01 and 10"]
  A -->|"2D checkout scanner"| G["Element string: GTIN, batch, expiry, no web call"]
  R -->|"no link type"| D["Default link: product page"]
  R -->|"linkType=gs1:recipeInfo"| E["Recipe page"]
  R -->|"linkType=linkset"| F["Every link, as JSON"]
```

One product can have many links, each with a **link type** from the [GS1 Web Vocabulary](https://ref.gs1.org/voc/). All the links of one product together are its **linkset**, in the format of [RFC 9264](https://www.rfc-editor.org/rfc/rfc9264). On GS1's own resolver, the example rice ("Dal Giardino Risotto Rice with Mushrooms 411 gr") has this linkset (read 8 November 2026):

| Link type | What it points to | Links |
|---|---|---|
| gs1:pip | product information page | 4 (en-US, es, ja, vi) |
| gs1:recipeInfo | recipe website | 3 (en, es, ja) |
| gs1:hasRetailers | where to buy | 3 (en, es, vi) |
| gs1:defaultLink | the default, used when no type is asked | 1 |

The vocabulary defines many more, among them gs1:allergenInfo, gs1:nutritionalInfo, gs1:recallStatus ("whether the product has been recalled or not, typically an API"), gs1:sustainabilityInfo ("sustainability and recycling"), gs1:instructions, gs1:epil (electronic patient information leaflet), gs1:traceability and gs1:dpp ("A link to a digital product passport").

How a resolver chooses, tested on `id.gs1.org`:

- **No link type asked:** a 307 redirect to the default link (`https://dalgiardino.com/risotto-rice-with-mushrooms/`). Exactly one default link is required per item (Resolver 2.5.8).
- **`?linkType=gs1:recipeInfo` with `Accept-Language: en`:** a 307 to the English recipe page. With no language and several candidates, the standard's answer is `300 Multiple Choices` (2.6.3), which is what `?linkType=gs1:pip` returned.
- **A type the product does not have** (`?linkType=gs1:allergenInfo`): `404 Not Found`. Under GS1 Digital Link 1.1 a resolver fell back to the default page; the resolver standard changed that (2.6.2).
- **The whole linkset:** `Accept: application/linkset+json`, or `?linkType=linkset` (2.9). An app asking for JSON gets the linkset as JSON; a browser opening `?linkType=linkset` on `id.gs1.org` gets the same links as an HTML page.
- **A batch with no links of its own** (`/10/ABC123`): the GTIN's links, inherited from the level above (2.5.9).

A resolver is not mandatory: "Neither is it a requirement that all GS1 Digital Link URIs must redirect, although this is strongly recommended" (Resolver 1.1).

### 6. QR code, Data Matrix or GS1 DataMatrix

For retail checkouts, the GS1 General Specifications list three 2D options to use alongside the linear barcode during the migration (Application Standard 1, section 8.2): **GS1 DataMatrix**, **Data Matrix carrying a GS1 Digital Link URI**, and **QR Code carrying a GS1 Digital Link URI**.

| | QR code (Digital Link URI) | Data Matrix (Digital Link URI) | GS1 DataMatrix |
|---|---|---|---|
| Carries | the web address | the web address | an element string, no web address |
| Opened by a phone's default camera app | yes | some | no |
| Quiet zone | 4 modules on every side | 1 module | 1 module |
| Module size for retail packs | 0.396 mm minimum, 0.495 mm target, 0.990 mm maximum | same | same |

Sources: GenSpecs Table 5-46 for size and quiet zone; the [2D in Retail guideline](https://ref.gs1.org/guidelines/2d-in-retail/) Table 4-4 for phone cameras. "GS1 QR Code", the variant that carries element strings with a leading FNC1, is not one of the three retail options; "QR Code is only used by the GS1 system to encode the GS1 Digital Link URI syntax" (GenSpecs 5.10).

A QR code can lose part of its data and still read, depending on its error correction level. ISO/IEC 18004, as summarised by GS1 (GenSpecs 5.7.2), defines four levels:

**QR code error correction: share of codewords that can be recovered**

| Error correction level | Recoverable codewords |
|---|---|
| L | 7 % |
| M | 15 % |
| Q | 25 % |
| H | 30 % |

ISO/IEC 18004 levels as summarised in the GS1 General Specifications 26.0, section 5.7.2. The share is of codewords, not of the printed area.

### 7. What the checkout reads: Sunrise 2027

A checkout scanner does not visit the address. "A point-of-sale (POS) scanner doesn't treat the GS1 Digital Link contained in a QR Code on a product as a URL. It treats it as a barcode containing a GTIN", and "Industrial scanners, such as POS scanners and warehouse scanners, will not connect to the internet at all" ([GS1 Digital Link quick start guide](https://ref.gs1.org/docs/2024/digital-link-quick-start-guide)). The scanner converts the URI back into an element string. GS1's guideline shows it on this very product: the QR content `https://id.dalgiardino.com/01/09506000134352/10/ABC?17=231231` is transmitted as `010950600013435210ABC<GS>17231231` (2D in Retail, Figure 7-16).

**Sunrise 2027** is the name GS1 US gives to "a global transition from 1D UPC barcodes to 2D barcodes" ([GS1 US](https://www.gs1us.org/industries-and-insights/by-topic/sunrise-2027)). GS1 describes it as "an ambition to read 2D barcodes at retail points of sale around the world by the end of 2027" (GenSpecs 1.2.2.2.1). It is not an obligation:

- The GTIN is the minimum: "the only requirement for the Sunrise 2027 transition is processing the GTIN" ([GS1 US one-pager](https://documents.gs1us.org/adobe/assets/deliver/urn:aaid:aem:24e150cc-390c-482b-b7d2-0bc277adcfb8/GS1-US-Sunrise-2027-One-Pager.pdf)).
- "Implementation of GS1 standards is voluntary unless related to a specific regulation" (GenSpecs 8.1).
- The linear barcode stays: "U.P.C. barcodes will continue to be accepted and scanned after the 2027 sunrise date" ([GS1 US for retailers](https://www.gs1us.org/industries-and-insights/gs1-digital-link/for-retailers)).

### 8. Recalls, expiry and the Digital Product Passport

With the batch and the expiry date in the code, the checkout can act on them. GS1: "by encoding the product's expiry date, it becomes possible to automatically prevent the sale of out-of-date products at the POS" (2D in Retail 4.4.1), and recalled products can be "automatically caught at point-of-sale to prevent them from being sold" ([GS1 2D barcodes explorer](https://www.gs1.org/industries/retail/2d-barcodes/explorer)). GS1 New Zealand reports a retailer that "can now automatically block the sale of expired items at the point of sale in-store", using GS1 DataMatrix ([GS1 NZ](https://www.gs1nz.org/membership/member-stories/woolworths-nz-2d-barcodes/)). For the shopper, the same code can lead to the link types above: recall status, sustainability and recycling, allergen information.

**The EU Digital Product Passport.** The Ecodesign for Sustainable Products Regulation, [Regulation (EU) 2024/1781](https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32024R1781), in force since 18 July 2024, sets up the passport. Article 10(1)(a): "it shall be connected through a data carrier to a persistent unique product identifier". A data carrier can be "a linear barcode symbol, a two-dimensional symbol or other automatic identification data capture medium" (Article 2). The regulation names ISO/IEC 15459 for identifiers and data carriers (Annex III) and does not name GS1. GS1 in Europe proposes the GTIN for a model, the GTIN plus a lot for a batch and the GTIN plus a serial for an item ([GS1 in Europe, V2.2](https://gs1.eu/wp-content/uploads/2025/04/GS1-Standards-Enabling-DPP-V2.2-April-2025.pdf)), and the vocabulary has a link type for it, gs1:dpp.

**Batteries come first.** [Regulation (EU) 2023/1542](https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32023R1542), Article 13(6): "From 18 February 2027, all batteries shall be marked with a QR code". Article 77(1): from the same date, each LMT battery (light means of transport, such as e-bikes), each industrial battery over 2 kWh and each electric vehicle battery "shall have an electronic record ('battery passport')". Both dates were still in the consolidated text of 13 August 2026.

## Common mistakes

| Mistake | Example | What GS1's resolver answered (8 November 2026) |
|---|---|---|
| Key qualifiers out of order | `/01/09506000134352/21/12345/10/ABC123` | `400`, error E041, "Out of order sequence" |
| A wrong check digit | `/01/09506000134353` | `400`, error E002 |
| An old shortcut instead of the AI | `/gtin/09506000134352` | `400`, error E007 |
| A GTIN not written in 14 digits | `/01/9506000134352` | redirected anyway, but the standard requires 14 digits since 1.4.0 |
| The batch in the query string | `?10=ABC123` | passed to the page; the query string "does not form part of the entity's identifier" (Resolver 2.12), so it is not used to pick batch links |

Three more that no resolver will catch:

- **A domain that will not last.** A code is printed for the life of the pack. GS1 recommends a domain the brand owns, and a subdomain, ideally `id`: "Using a subdomain makes it much less likely that those GS1 Digital Link URIs will be broken the next time your website is refreshed" ([GS1, QR Code powered by GS1 best practices](https://ref.gs1.org/docs/2023/QR-Code_powered-by-GS1-best-practices)).
- **Too much in the address.** The same guide: "do not add any information to the GS1 Digital Link URI that is not necessary". Every extra character makes a denser code, and anything that might change later forces a reprint. It also notes that writing the scheme and domain in capitals (`HTTPS://ID.EXAMPLE.COM`) makes the QR code smaller, because they are case-insensitive while the rest of the URI is not.
- **Too small, or no quiet zone.** For retail packs, the module (one square of the code) is 0.396 mm at least, and a QR code needs a clear margin of 4 modules on every side (GenSpecs Table 5-46). "Removing the quiet zone or putting graphics, colours or other 'noise' in the Quiet Zone space can harm barcode performance" (2D in Retail 4.6.5).

To check a URI before printing, GS1 publishes the [GS1 Barcode Syntax Resource](https://ref.gs1.org/tools/gs1-barcode-syntax-resource/) and open-source tools such as [GS1DigitalLinkToolkit.js](https://github.com/gs1/GS1DigitalLinkToolkit.js) and the [GS1 Barcode Syntax Engine](https://github.com/gs1/gs1-syntax-engine).

## Limits and caveats

- **A GTIN comes from GS1.** The company prefix is allocated by a GS1 Member Organisation (GenSpecs 2.1.3.1); a Digital Link address only writes an existing GTIN in a new form.
- **Sunrise 2027 is an ambition, not a law.** What a given retailer's checkout reads, and when, depends on that retailer.
- **The DPP rules depend on delegated acts** that set, per product group, the data carrier and whether the passport is per model, batch or item (ESPR Article 9(2)). This page does not cover them.
- **The Battery Regulation has been amended since 2023**, and further changes are proposed. The dates above were checked against the consolidated text of 13 August 2026.
- **Resolver behaviour** was tested on `id.gs1.org` and `id.dalgiardino.com` on 8 November 2026. Another resolver may answer the optional cases (language, context) differently.

## Frequently asked questions

### What is GS1 Digital Link in one sentence?

A GS1 standard that writes the data of a product barcode (the GTIN, and optionally the batch, serial, expiry date and other Application Identifiers) as a web address, so one QR code can be read by a checkout and opened by a phone.

### What do 01, 10, 17 and 21 mean in a GS1 QR code?

They are Application Identifiers: `01` is the GTIN, `10` the batch or lot, `17` the expiry date (YYMMDD) and `21` the serial number. In a Digital Link address, 01, 10 and 21 sit in the path and 17 in the query string after `?`.

### How do I calculate a GS1 check digit?

From the digit next to the check digit, moving left, multiply the digits by 3, 1, 3, 1 and so on, add the results, and subtract the sum from the next multiple of ten. For 0950600013435 the sum is 78, so the check digit is 2.

### Do the first digits of a barcode show the country of origin?

No. They are the GS1 Prefix of the GS1 office that allocated the number. GS1: "GS1 Prefixes do not identify the country of origin for a given product."

### Can I use my own domain for GS1 Digital Link?

Yes. The standard allows any domain, and GS1 recommends one the brand owns, on an `id` subdomain. The canonical form of every URI uses `id.gs1.org`.

### What is the difference between a GS1 QR code and a normal QR code?

A QR code with a GS1 Digital Link URI is an ordinary QR code that contains a web address; any phone camera opens it. "GS1 QR Code" is a separate variant that carries element strings with a leading FNC1 and is not one of the retail checkout options.

### Will the normal barcode disappear in 2027?

No. GS1 US says UPC barcodes "will continue to be accepted and scanned after the 2027 sunrise date", and linear barcodes will coexist with 2D codes "for as long as there are uses for them" (2D in Retail 1.2).

### Does a checkout need the internet to read a GS1 Digital Link QR code?

No. The scanner converts the address into an element string locally and passes the GTIN to the till.

## Sources

- GS1 General Specifications Standard, release 26.0, January 2026: https://ref.gs1.org/standards/genspecs/26.0.0/
- GS1 Digital Link Standard: URI Syntax, release 1.7.0, August 2026: https://ref.gs1.org/standards/digital-link/uri-syntax/1.7.0/
- GS1-Conformant Resolver Standard, release 1.2.1, August 2026: https://ref.gs1.org/standards/resolver/1.2.1/
- 2D Barcodes at Retail Point-of-Sale Implementation Guideline, release 1.1.0, December 2025: https://ref.gs1.org/guidelines/2d-in-retail/
- GS1 Web Vocabulary: https://ref.gs1.org/voc/
- GS1 Digital Link quick start guide (2024): https://ref.gs1.org/docs/2024/digital-link-quick-start-guide
- Best practices for creating your QR Code powered by GS1 (2023): https://ref.gs1.org/docs/2023/QR-Code_powered-by-GS1-best-practices
- GS1 Company Prefix list: https://www.gs1.org/standards/id-keys/company-prefix
- GS1 check digit calculator: https://www.gs1.org/services/check-digit-calculator
- GS1 Vision and Strategy booklet: https://www.gs1.org/docs/gs1-strategy-booklet.pdf
- GS1 US, 50-year barcode Scanniversary (26 June 2024): https://www.gs1us.org/industries-and-insights/media-center/press-releases/gs1-us-celebrates-50-year-barcode-scanniversary
- GS1 US, Sunrise 2027: https://www.gs1us.org/industries-and-insights/by-topic/sunrise-2027
- GS1 US, Sunrise 2027 one-pager: https://documents.gs1us.org/adobe/assets/deliver/urn:aaid:aem:24e150cc-390c-482b-b7d2-0bc277adcfb8/GS1-US-Sunrise-2027-One-Pager.pdf
- GS1 US, GS1 Digital Link for retailers: https://www.gs1us.org/industries-and-insights/gs1-digital-link/for-retailers
- GS1 2D barcodes explorer: https://www.gs1.org/industries/retail/2d-barcodes/explorer
- GS1 New Zealand, Woolworths NZ: https://www.gs1nz.org/membership/member-stories/woolworths-nz-2d-barcodes/
- GS1 in Europe, GS1 Standards enabling the EU digital product passport, V2.2, April 2025: https://gs1.eu/wp-content/uploads/2025/04/GS1-Standards-Enabling-DPP-V2.2-April-2025.pdf
- Regulation (EU) 2024/1781 (Ecodesign for Sustainable Products): https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32024R1781
- Regulation (EU) 2023/1542 (batteries), consolidated 13 August 2026: https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:02023R1542-20260813
- RFC 9264, Linkset: https://www.rfc-editor.org/rfc/rfc9264
- GS1's Dal Giardino demo brand: https://github.com/gs1/dalgiardino
- Live resolvers, tested 8 November 2026: https://id.gs1.org/01/09506000134352 and https://id.dalgiardino.com/01/09506000134352/10/ABC123?17=271231

## Last reviewed

8 November 2026, against GS1 General Specifications 26.0, GS1 Digital Link URI Syntax 1.7.0, the GS1-Conformant Resolver Standard 1.2.1 and the live `id.gs1.org` resolver.

See it done step by step: [GS1 Digital Link QR codes with Linkbreakers](/help/article/gs1-digital-link-qr-codes-with-linkbreakers).
