Standards/gs1-digital-link
GS1 Digital Link
GS1 Digital Link
Overview
GS1 Digital Link is a data format, not a symbology. It is a standardised way of expressing GS1 identifiers — Global Trade Item Numbers (GTINs), Global Location Numbers (GLNs), Serial Shipping Container Codes (SSCCs) — together with their associated data (batch/lot, serial number, expiry date, and any other GS1 Application Identifier) as a web-resolvable HTTP(S) URI [1, 3]. The same identifier data that has traditionally been carried as a flat GS1 element string (e.g. (01)09521234543213(10)ABC123) is instead expressed as a URL such as https://example.com/01/09521234543213/10/ABC123, which both a barcode scanner and an ordinary web browser can act on [1, 9].
Because it is a data format and not a carrier, a GS1 Digital Link URI must be encoded into some symbology. In practice the carrier is almost always a gs1-qr-code (a QR Code holding a Digital Link URI), but the URI syntax can equally be placed in a gs1-datamatrix or printed as plain text. The defining idea is the convergence of two previously separate functions into one code: a single scan can serve point-of-sale data (the GTIN) to a retail till and open consumer-facing web content (product information, instructions, traceability) in a phone browser [3, 5].
The standard is split into two parts: the URI Syntax standard, which defines how to construct and parse the URIs [1], and the GS1-Conformant Resolver standard, which defines the web service that receives the URI and redirects the requester to the appropriate content [2].
History
The concept grew out of work on expressing GS1 identifiers as Web URIs, led by Mark Harrison, Phil Archer and others; version 1.0 was published in August 2018 under the title that became the GS1 Digital Link standard [4]. Version 1.1 was released on 19 February 2020, adding updated GS1 branding and new sections covering CORS (Cross-Origin Resource Sharing) and TLS [4]. The standard has continued through maintenance releases in the 1.1.x line (e.g. 1.1.0, 1.1.2, 1.1.3), and was subsequently restructured into the separate URI Syntax and GS1-Conformant Resolver standards published on the GS1 reference site ref.gs1.org [1, 2].
The work drew heavily on web architecture practice — the design rationale references content negotiation and linked-data principles familiar from the W3C — and GS1 published companion guidance such as the How and Why of GS1 Digital Link to explain the rationale to implementers [1, 4].
Technical specification
URI structure. A GS1 Digital Link URI is built from a domain followed by a sequence of /AI/value path segments, optionally followed by a query string [1, 5]. The Application Identifier numeric codes become path keys, and their values follow:
https://example.com/01/09521234543213/10/ABC123/21/SN-001?17=261231
Here 01 is the GTIN (primary key), 10 is the batch/lot number, 21 is the serial number, and 17 (expiry date) is carried as a query parameter [1, 5].
Primary keys, key qualifiers, attributes. The syntax distinguishes three roles for AIs [1, 3]:
- Primary keys — the main identifier, e.g. GTIN (
01), GLN (414), SSCC (00). - Key qualifiers — values that make the identification more specific and form part of the path: batch/lot (
10), serial number (21), and consumer product variant / CPV (22). - Attributes (data attributes) — additional data such as expiry date (
17), which are placed in the query string rather than the path.
Mnemonic AI names. As an alternative to numeric AIs, the standard defines human-readable short names: gtin for 01, lot for 10, ser for 21, gln for 414, and so on [3, 9]. For example the GS1 Digital Link toolkit converts the element string (01)05412345000013(10)ABC&+123(3103)000189(3923)2172 to:
https://id.gs1.org/gtin/05412345000013/lot/ABC%26%2B123?3103=000189&3923=2172
— with the GTIN and lot in the path and the remaining AIs as percent-encoded query parameters [9].
Compressed and uncompressed forms. Digital Link URIs exist in an uncompressed (human-readable) form and a compressed form, in which the AI/value pairs are packed into a compact base64url-style string to keep the resulting barcode small; conformant resolvers can automatically decompress these when resolving the identifier [7].
Resolver model. A GS1-Conformant Resolver is a web service that receives a Digital Link URI, extracts the identifier (validating, for example, the GTIN check digit using the GS1 Mod-10 weight-(3,1) algorithm), and redirects the requester to the correct target resource [2, 5]. The resolver performs content negotiation on the inbound HTTP request — inspecting the Accept content type, Accept-Language, and a linkType parameter — so that a single QR code can route different audiences to different content [5]. GS1 defines a registry of standard link types such as gs1:pip (product information page), gs1:epil (electronic patient information leaflet), and traceability links, so one printed code can serve consumers, regulators, and supply-chain systems from one identifier [5].
Use cases
- Convergent consumer engagement + POS. A single on-pack QR code carrying a Digital Link URI lets a shopper open product information, recipes, allergen data, or sustainability claims in a browser, while the same code yields the GTIN at the checkout — the core promise behind the retail 2D transition (see gs1-sunrise-2027) [3, 5].
- Traceability and recalls. Because the URI can carry batch/lot and serial, a scan can resolve to batch-specific recall notices or provenance data, making targeted recalls possible at the item level [5].
- Healthcare / regulated information. Link types such as
gs1:epillet a medicine pack point to the current digital patient leaflet, kept up to date independently of the printed carton [5]. - Digital twins and dynamic content. Because resolution happens server-side, the destination behind a printed code can change over a product's life without reprinting the packaging [2, 5].
Implementations
- GS1_DigitalLink_Resolver_CE — the GS1 DigitalLink Resolver Community Edition, the official free/open-source reference resolver. Version 3.0 features a revised architecture with multi-link support and a unified database; codebase includes Python 3.10 and JavaScript. ~57 stars, active through 2026 [6, 7].
- GS1DigitalLinkToolkit.js — official JavaScript toolkit for translating between GS1 element strings and Digital Link URIs (and back). ~20 stars, active 2026 [9].
- GS1DL-resolver-testsuite — official conformance test suite for checking a resolver against the Digital Link spec [6].
Comparison
Digital Link vs a plain GTIN barcode. A conventional EAN/UPC barcode encodes only the GTIN as digits — it identifies the product but carries no machine-actionable link and no batch/serial granularity. A GS1 Digital Link URI carries the same GTIN plus optional key qualifiers (lot, serial, CPV) and attributes (expiry), and — critically — is itself a web address, so the same scan can both feed POS and open web content [3, 5]. The trade-off is size: a URI is far longer than 13 digits, so it needs a 2D carrier (gs1-qr-code or gs1-datamatrix) rather than a 1D linear symbol, and benefits from the compressed URI form [1, 7].
Digital Link vs GS1 element strings (FNC1 syntax). Both encode the same AI data model. Element strings (used by gs1-128 and gs1-datamatrix) are compact and optimized for supply-chain scanners but are opaque to web infrastructure. Digital Link URIs are slightly larger but are natively resolvable by browsers and HTTP services; the two are losslessly interconvertible by toolkits like GS1DigitalLinkToolkit.js [9].
Status
GS1 Digital Link is a published, stable GS1 standard (URI Syntax and Resolver standards in the 1.1.x line) and is the data-format backbone of GS1's global push to migrate retail point-of-sale from 1D to 2D barcodes by the end of 2027 — see gs1-sunrise-2027 [1, 3]. It is one of the two carriers (alongside gs1-datamatrix) sanctioned for that transition, in the form of a QR Code carrying GS1 Digital Link URI syntax [3].
Sources
1 GS1 Digital Link Standard: URI Syntax — GS1, 2022 2 GS1-Conformant Resolver Standard — GS1 3 GS1 Digital Link — GS1 4 GS1 Digital Link — Wikipedia 5 GS1 Digital Link: Complete Guide to the Standard (2026) — Linkode, 2026 6 GS1_DigitalLink_Resolver_CE — GS1 / GitHub 7 GS1_DigitalLink_Resolver_CE README — GS1 / GitHub 9 GS1DigitalLinkToolkit.js — GS1 / GitHub
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal