# GS1 Digital Link (https://eulabel.eu/docs/knowledge-base/concepts/gs1-digital-link)

> Fetch the complete documentation index at: https://eulabel.eu/docs/llms.txt
> Use this file to discover all available pages before exploring further.
> Full content: https://eulabel.eu/docs/llms-full.txt
> Append .md to any page URL for markdown, or send Accept: text/markdown.



GS1 Digital Link is a standardized method for encoding GS1 identifiers (GTINs) into web-resolvable URIs, conformant with ISO/IEC 18975. It achieves two goals simultaneously:

1. **Offline identification** -- identifiers can be extracted from the barcode without internet access
2. **Online information access** -- the URI is a functional web address connecting to digital content

> **Note**
> The **domain is not part of the identifier**. This is what makes GS1 Digital Link portable across brands, marketplaces, and compliance registries.

URI structure [#uri-structure]
```
https://{domain}/01/{GTIN}/10/{batch}/21/{serial}
```
| Component                 | Example              | Purpose                                      |
| ------------------------- | -------------------- | -------------------------------------------- |
| **Domain**                | `eulabel.eu`         | Resolver domain (not part of the identifier) |
| **Primary key (AI 01)**   | `/01/05601234567890` | GTIN -- the product identifier               |
| **Key qualifier (AI 10)** | `/10/ABC123`         | Batch/lot number                             |
| **Key qualifier (AI 21)** | `/21/1001`           | Serial number                                |
| **Query string**          | `?linkType=gs1:pip`  | Request specific link type                   |

Domain independence [#domain-independence]

The domain is **not** part of the product identifier:
```
https://eulabel.eu/01/05601234567890
https://brand.example/01/05601234567890
```
Both URIs identify the **same product**. Identifiers persist independently of any domain, which is essential for ESPR persistence requirements.

Identification granularity [#identification-granularity]

Different levels of identification serve different use cases:

| Level     | GS1 Encoding         | Use Case                                   |
| --------- | -------------------- | ------------------------------------------ |
| **Model** | GTIN only            | Product type identification                |
| **Batch** | GTIN + lot number    | Recall readiness, batch-specific data      |
| **Item**  | GTIN + serial number | Repairs, warranty, individual traceability |

- [Model level](#examples) — GTIN only — the most common for consumer passports
- [Batch level](#examples) — GTIN + lot — recalls, lab results, compliance per batch
- [Item level](#examples) — GTIN + serial — repairs, warranty, per-item traceability
Examples [#examples]
```
Model level:  https://eulabel.eu/01/09506000164908
Batch level:  https://eulabel.eu/01/09506000164908/10/LOT2025A
Item level:   https://eulabel.eu/01/09506000164908/21/SN00012345
```
Each level inherits data from above -- everything at the GTIN level applies to all batches and items under it.

Key properties [#key-properties]

* **Globally unique** -- no two products share an identifier
* **Persistent** -- identifiers never change throughout the product lifecycle
* **Web-resolvable** -- scan a QR code with any smartphone camera, no app needed
* **Open standards** -- no vendor lock-in, portable across systems
* **Backward compatible** -- same identifiers work in legacy barcode systems

Data carriers [#data-carriers]

| Carrier         | Smartphone Support | DPP Suitability                     |
| --------------- | ------------------ | ----------------------------------- |
| **QR Code**     | Ubiquitous         | Primary choice (cited by ESPR)      |
| **Data Matrix** | Uneven             | Good for small/cylindrical products |
| **NFC**         | Widely implemented | Assessment pending                  |

QR Code with GS1 Digital Link URI syntax is the recommended data carrier for DPP compliance.

