Skip to content
barcoder

Standards/gs1-digital-link

GS1 Digital Link

TypeQR Data Format
Completeness82%high

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:epil let 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
source · docs/standards/gs1-digital-link/index.md