GS1 Digital Link QR Code Implementation: The Technical Guide
GS1 Digital Link QR code implementation: URI structure, resolver setup, GTIN encoding, retail and healthcare use cases, plus 5 pitfalls to avoid.

This article was written by the QR Nova team. We build QR code software, which may inform our perspective.
TL;DR
- GS1 Digital Link encodes a GTIN (and optional qualifiers) into a web-compliant URI — one code for POS, logistics, and consumer engagement simultaneously.
- URI structure:
https://domain/01/{14-digit-GTIN}[/qualifier/value][?attribute=value] - The GS1 Sunrise 2027 deadline requires POS systems in 48+ countries to accept 2D barcodes by end of 2027 — suppliers that miss this deadline face listing risk with major retailers.
- The five implementation pitfalls: wrong GTIN padding, deprecated convenience alphas, over-encoding, missing conformance testing, and short-link redirect layers.
What GS1 Digital Link Actually Is
Create your first QR code — free
Get started
The GS1 Digital Link URI Structure
The canonical URI structure defined in GS1 Digital Link standard version 1.2.1 (February 2022) is:https://{domain}/01/{14-digit-GTIN}[/{qualifier-AI}/{value}][?{attribute-AI}={value}]
Breaking this down:
- Domain — Can be
id.gs1.org(GS1's global resolver) or any domain you operate a GS1-conformant resolver on. The standard is domain-agnostic. - /01/ — The Application Identifier (AI) for GTIN. The forward slash before and after is required.
- 14-digit GTIN — Always 14 digits, zero-padded on the left. A 12-digit UPC (e.g., 614141123452) becomes
00614141123452in the URI. - Qualifier AIs (path segments) — Optional. Encoded in the URL path. Common qualifiers:
/10/(batch/lot),/21/(serial number). Order follows GS1 AI concatenation rules. - Attribute AIs (query string) — Optional. Encoded as query parameters. Common attributes:
17(expiration date, YYMMDD format),11(production date).
https://id.gs1.org/01/05901234123457/10/BATCH-A/21/SN0000123?17=271231
This encodes:
- GTIN:
05901234123457 - Batch/Lot:
BATCH-A - Serial number:
SN0000123 - Expiration date: December 31, 2027 (encoded as
271231in YYMMDD format)
https://id.gs1.org/01/09780201379624
The resolver at id.gs1.org looks up that GTIN and redirects appropriately: to a product page for a consumer scan, or returns structured data for a machine scan.
How the Resolver Works
The resolver is what makes GS1 Digital Link contextually aware. When a device scans the QR code, it sends an HTTP GET request to the resolver URL. The resolver reads the URI path (extracting the GTIN and any qualifiers), then uses request context — user agent, Accept headers, locale, or scanner-specific flags — to return the appropriate response. For a consumer smartphone:- Camera app scans QR, extracts URI:
https://id.gs1.org/01/09780201379624 - Browser sends GET request to
id.gs1.org - Resolver identifies it as a browser request (HTML Accept header)
- Resolver returns HTTP 307 redirect to the brand's consumer product page
- Scanner reads QR, extracts same URI
- System sends GET with
Accept: application/ld+jsonor similar structured-data header - Resolver returns JSON-LD with product identity data, verification links, and regulatory status
ref.gs1.org) defines the exact response formats and link type vocabulary: gs1:pip for product information page, gs1:safetyInfo, gs1:recallStatus, and others.
GS1 makes its resolver source code available as open-source software. Brands that want full control can run their own resolver, use a third-party managed resolver, or route through GS1's global instance at id.gs1.org.
Implementation Steps: From GTIN to Printed QR Code
Step 1: Obtain or Verify Your GTIN
A GTIN is the mandatory primary key. GTINs are issued by GS1 Member Organizations — in the US through GS1 US, in the UK through GS1 UK. If your products already carry UPC or EAN barcodes, you already have GTINs; you need to zero-pad them to 14 digits. GTINs purchased from third-party resellers are often non-compliant for GS1 Digital Link. The resolver atid.gs1.org validates GTIN prefix ownership. If your prefix is not registered to your company in the GS1 registry, the resolver cannot confirm brand ownership and cannot serve conformant responses.
Step 2: Determine Which Qualifiers You Need
The qualifiers you include are driven by your use case:- Retail consumer engagement only: GTIN alone. URI ends after the 14-digit GTIN. Keeps the code short and the QR module density low.
- Retail with fresh/perishable inventory: GTIN + batch (
/10/) + expiration (?17=). Allows store systems to track lot-level freshness. - Pharmaceutical (EU FMD / US DSCSA): GTIN + lot (
/10/) + serial (/21/) + expiry (?17=). Full four-component encoding for unit-level traceability. - Logistics shipping label: SSCC-based URI using AI
/00/as the primary key instead of GTIN.
Step 3: Choose Your Resolver Strategy
Three options exist:- GS1 Global Resolver (id.gs1.org): Works immediately for brands with registered GTINs. Limited customization of redirect targets without additional GS1 registry entries. Best for brands just starting with Digital Link.
- Third-party managed resolver: Services like Digimarc and Sato offer managed resolver infrastructure. You control redirect targets, link types, and analytics without running your own servers.
- Own resolver: Maximum control. GS1 provides open-source resolver software and a conformance test suite. Requires server infrastructure and ongoing maintenance. Right for large brands with dedicated engineering teams.
Step 4: Generate and Validate the URI
Before encoding into a QR code, validate the URI against GS1's Digital Link validator atref.gs1.org/tools/gs1-digital-link-toolkit. The toolkit checks:
- GTIN structure and check digit
- AI ordering (primary key before qualifiers before attributes)
- Character set conformance for each AI's value
- Correct use of path vs. query string positions for each AI
Step 5: Generate the QR Code at Correct Specification
GS1 recommends QR Code Model 2, Error Correction Level M (15% recovery) for most packaged goods. For pharmaceutical serialized codes where module density is high and print precision matters, Error Correction Level H (30%) is recommended. Minimum size for reliable scanning: 15mm x 15mm at 150 dpi. For retail environments where codes may be scanned at distance or in poor lighting, 20mm x 20mm or larger. Quiet zone: 4 modules on all sides, minimum. The QR code must encode the URI as UTF-8. Do not add any GS1 Application Identifier prefix string before the domain — the URI format makes the GTIN extractable without it.
Real-World Use Cases
Retail: The Sunrise 2027 Transition
GS1's Sunrise 2027 initiative requires POS systems in 48+ countries to accept 2D barcodes by the end of 2027. Walmart, Carrefour, Woolworths, and Albertsons have all published 2D-barcode acceptance roadmaps. Suppliers that cannot deliver scannable GS1 Digital Link QR codes face listing risk with their largest accounts. For retail, the key constraint is that the same code must checkout-scan correctly at existing POS infrastructure while also serving consumer engagement through the resolver. The GS1 Digital Link URI satisfies both simultaneously — existing GS1 Application Identifier parsing software extracts the GTIN from the URI path without any modification.Healthcare: EU FMD and US DSCSA Compliance
The EU Falsified Medicines Directive requires unique identifier verification on prescription medicines. The US Drug Supply Chain Security Act requires unit-level traceability. Both require GTIN + lot + serial + expiry, the full four-component GS1 Digital Link encoding. A GS1 Digital Link QR code on a pharmaceutical pack satisfies both regulatory frameworks from a single symbol, and simultaneously allows pharmacists to scan the code to retrieve patient-facing product information through the resolver. For a deeper look at healthcare QR compliance requirements, see the QR Code HIPAA Compliance Guide. The EU Digital Product Passport regulation, entering phased enforcement from 2027, adds a fifth use case: consumers accessing sustainability and circularity data through the same code.Logistics: Scan4Transport
The GS1 Scan4Transport (S4T) standard applies GS1 Digital Link URI syntax to logistics labels, using SSCC (Serial Shipping Container Code, AI 00) as the primary key. A pallet label encoded with a GS1 Digital Link URI allows logistics operators to scan with any 2D-capable reader and immediately access shipment documentation, chain of custody records, and customs data — without proprietary scanner software or EDI lookup.Five Pitfalls That Break Production Deployments
Pitfall 1: Incorrect GTIN Padding
Every GTIN in a GS1 Digital Link URI must be exactly 14 digits, zero-padded on the left. A 12-digit UPC like614141123452 must appear as 00614141123452. Generating the code without padding produces a URI that fails AI parsing in conformant scanners, even though the QR code scans and the browser opens correctly. The resolver may accept it, but the code fails standards compliance audits.
Pitfall 2: Deprecated Convenience Alphas
Early versions of the standard allowed named aliases:/gtin/ instead of /01/, /lot/ instead of /10/. These "convenience alphas" were removed from GS1 Digital Link 1.2.1 and will not appear in future versions. Any implementation using them produces non-conformant URIs that fail validation. If your implementation vendor's code generator still outputs /gtin/ paths, require them to update.
Pitfall 3: Over-Encoding Mutable Data
Encoding promotion codes, campaign identifiers, or current-season marketing data in the GS1 Digital Link URI path locks that data into the printed symbol. When the promotion ends, every printed package carries a URI with stale qualifier data. Use the resolver to serve context-appropriate content. The URI should encode stable identity data only.Pitfall 4: Skipping Conformance Testing
GS1 provides a Digital Link Toolkit atref.gs1.org that validates URI structure. Many implementations skip this step, assuming that if the QR code scans and the page opens, it is correct. It is not. Conformance testing catches GTIN check-digit errors, AI ordering violations, and character set problems before they reach print runs. At scale (millions of packages), a conformance error requires a packaging recall. Testing costs nothing.
Pitfall 5: Short-Link Redirect Layer on Top of the URI
Some implementations route the GS1 Digital Link URI through a URL shortener or redirect service: the QR code encodeshttps://bit.ly/xyz which redirects to https://id.gs1.org/01/00614141123452. This breaks everything. The short link is not a GS1 Digital Link URI. Conformant scanners cannot extract structured identifier data from a redirect. POS systems that parse the scanned string for GTIN data receive a short URL with no parseable AI structure. Use the GS1 Digital Link URI directly.
When GS1 Digital Link Is Not What You Need
GS1 Digital Link is the right choice if your product requires POS checkout integration, regulatory traceability, or supply chain visibility that relies on GTIN-structured data. It is not the right choice for every QR code use case. Restaurant menus, event registrations, business cards, promotional landing pages — none of these need GS1 Digital Link. A standard dynamic QR code pointing to a URL gives you redirect flexibility without the implementation complexity of resolver infrastructure, GTIN registration, and AI ordering rules. Think of it this way: GS1 Digital Link is a supply chain identity standard that happens to use QR codes. Standard QR codes are a communication format that happens to be convenient for consumer engagement. Mixing them up produces either unnecessary complexity or non-compliance. For generating standard dynamic QR codes without supply chain requirements, QR Nova's generator creates codes that never expire and require no subscription, appropriate for the majority of small business and marketing use cases. For GS1 Digital Link, you need a GTIN, a resolver, and a conformant URI — that infrastructure is separate from general-purpose QR generation.How to Verify a GS1 Digital Link QR Code
Before printing at scale, run these three checks:- URI structure validation: Paste the URI into the GS1 Digital Link Toolkit at
ref.gs1.org/tools/gs1-digital-link-toolkit. It confirms GTIN check digit, AI ordering, qualifier positions, and character set conformance. - Resolver resolution test: Scan the QR code with a standard smartphone camera and confirm it resolves to the correct consumer page. Then test with a GS1 conformant resolver test tool (available in the GS1 Digital Link Toolkit) to confirm structured data responses.
- POS scan simulation: Use GS1's scan engine test (or a compatible point-of-sale emulator) to confirm the GTIN is correctly extracted from the URI path. This is the test that matters for Sunrise 2027 compliance.
The Business Case: One Code for Every Purpose
Before GS1 Digital Link, brands running multiple compliance, supply chain, and consumer engagement programs typically printed multiple codes or separate barcodes for each function. A pharmaceutical pack might carry a 1D barcode for FMD verification, a 2D DataMatrix for lot and serial tracking, and a separate QR code for patient-facing product information. GS1 Digital Link collapses all three into one symbol. For brand owners, that is a direct reduction in label real estate, a simpler print production workflow, and a single point of truth for product identity across every supply chain touchpoint. According to GS1 data cited in its 2024 Sunrise 2027 preparedness report, fewer than 30% of consumer packaged goods companies had completed a GS1 Digital Link readiness assessment as of Q4 2024. The Sunrise 2027 deadline is not a distant planning horizon. For brands that need to update packaging artwork, run conformance testing, and onboard resolver infrastructure, the effective implementation window is now. For organizations beginning this process, the QR Nova features page covers the QR generation capabilities available for standard use cases, and GS1's implementation guideline (available at gs1.org/docs/Digital-Link/GS1_DigitalLink_Imp_Guide_i1.pdf) is the definitive reference for conformant GS1 Digital Link deployment.Frequently asked questions
What is GS1 Digital Link?
GS1 Digital Link is an international standard (ISO/IEC 18975) that encodes GS1 identifiers — such as GTINs, GLNs, and SSCCs — into a web-compliant URI, allowing a single QR code to serve both POS scanners and consumer smartphones simultaneously. The standard is published and maintained by GS1, the global supply chain standards body.
What is the GS1 Digital Link URI format?
The canonical URI format is: https://{domain}/01/{14-digit-GTIN}[/qualifier/value][?attribute=value]. For example, https://id.gs1.org/01/05901234123457/10/LOT-A?17=271231 encodes a GTIN with batch number LOT-A and an expiration date of December 31, 2027. The domain can be id.gs1.org (GS1's global resolver) or your own resolver domain.
How is GS1 Digital Link different from a standard QR code?
A standard QR code can encode any string — a URL, plain text, vCard data. A GS1 Digital Link QR code encodes a URI conforming to the GS1 Digital Link standard, embedding structured product identity (GTIN and qualifiers) in the URL path itself. This means the same code is scannable at checkout for inventory lookup AND by a consumer's camera app to retrieve product information.
Do I need a GTIN to implement GS1 Digital Link?
Yes. A GTIN (Global Trade Item Number) is the mandatory primary key in every GS1 Digital Link URI. GTINs are issued by GS1 Member Organizations in each country. In the US, GS1 US issues GTINs. Without a valid, licensed GTIN you cannot create a standards-compliant GS1 Digital Link URI.
What is the GS1 Sunrise 2027 deadline?
GS1 Sunrise 2027 is the industry initiative requiring POS systems in 48+ countries to accept 2D barcodes (including QR codes carrying GS1 Digital Link) by end of 2027. Retailers including Walmart, Carrefour, and Woolworths have published 2D-barcode acceptance roadmaps. Suppliers who cannot produce GS1 Digital Link-compliant packaging face listing risk with major accounts.
Can I use my own domain instead of id.gs1.org?
Yes. The GS1 Digital Link standard is domain-agnostic — what matters is the URI path structure, not the domain. Many brands use their own domain (e.g., https://link.yourbrand.com/01/00614141123452) and run their own GS1-conformant resolver. GS1 publishes open-source resolver software and a conformance test suite at github.com/gs1/GS1DigitalLinkDocs.
What are the most common GS1 Digital Link implementation mistakes?
The five most common mistakes are: (1) padding the GTIN to fewer than 14 digits, (2) using deprecated convenience alphas like /gtin/ instead of /01/, (3) encoding more marketing data in the URI than needed — making future updates require a new code, (4) not testing against a GS1-conformant resolver before printing, and (5) using a short-link redirect layer between the Digital Link URI and the resolver, which breaks structured identifier extraction.
Is GS1 Digital Link required for pharmaceutical products?
GS1 Digital Link is not yet mandated for pharma globally, but it aligns with and can satisfy several regulatory requirements: the EU Falsified Medicines Directive (FMD) requires serialized verification, the US DSCSA requires unit-level traceability, and the EU Digital Product Passport (DPP) requires accessible product data. A properly structured GS1 Digital Link URI with lot, serial, and expiry qualifiers satisfies the data requirements for all three simultaneously from a single code.
Create your first QR code — free
Get started