Guide · Sunrise 2027

GS1 Digital Link QR Codes: How They Actually Work

One QR code that rings up at checkout and opens your product page in a customer's hand — plus the one licensing rule that trips up almost everyone building their first one.

Quick Answer

Yes — QRTRAC generates and resolves GS1 Digital Link QR codes. A visual builder assembles a spec-compliant Digital Link URL from your GTIN and optional attributes (batch, serial, expiry), and QRTRAC's resolver routes each scan to the right destination — product info, instructions, or a recall notice — by device, location, language, or link type. The part no QR platform can do for you: the GTIN itself has to be officially licensed to your company by GS1. You cannot invent one — a made-up number will fail at retail POS.

How the URL Is Built

A GS1 Digital Link is a normal, clickable URL — nothing exotic, and not a special QR format. The QR code simply stores this URL like it would store any other link. What makes the URL "GS1" is a strict path structure: each piece of product data gets a two-digit GS1 Application Identifier (AI), written directly into the path. This is governed by GS1's URI Syntax standard, currently version 1.7.0.

Start simple: just a GTIN

The Application Identifier for a GTIN is 01. The GTIN itself is always written as 14 digits — shorter formats (GTIN-8, GTIN-12, GTIN-13) get padded with leading zeros to reach that length. So a 13-digit GTIN like 9501234567890 becomes 09501234567890 in the URL.

https://id.qrtrac.com/01/09501234567890

Add batch or lot

Batch/lot uses AI 10. GS1 calls this a key qualifier — it doesn't replace the GTIN, it makes the identification more specific than the GTIN alone.

https://id.qrtrac.com/01/09501234567890/10/ABC123

Add a serial number

For a single, individually-tracked unit rather than a whole batch, AI 21 carries the serial number. GTIN plus serial together are what GS1 calls an SGTIN — an identifier for one specific physical item, not just the product line.

https://id.qrtrac.com/01/09501234567890/21/123456789

Expiry works differently

Expiry (AI 17, format YYMMDD) is informative attribute data about the entity, not part of what identifies it — so GS1 Digital Link places it in the query string rather than the URL path:

https://id.qrtrac.com/01/09501234567890/10/ABC123?17=270630

That last example reads: GTIN 09501234567890, batch ABC123, expiring June 30, 2027. GS1's syntax draws a clear line between three tiers: primary identification keys (GTIN), key qualifiers that narrow it further (batch, serial), and attributes that describe it (expiry date, and similar informative data).

AI Meaning Tier
/01/GTIN — the product identifierPrimary key
/10/Batch or lot numberKey qualifier
/21/Serial number (unique per unit)Key qualifier
?17=Expiry or best-before dateAttribute

The domain in front doesn't have to be id.gs1.org — GS1's syntax explicitly allows a company's own registered domain, as long as the path structure stays compliant. That's what lets a QR code stay branded to your own domain while the underlying identifier structure remains standard: checkout scanners ignore the domain entirely and read straight from /01/ onward.

⚠️

You Cannot Invent Your Own GTIN

This is the one rule with no workaround. A GTIN (Global Trade Item Number) is licensed to your specific company by GS1 through your local GS1 member organization — it's a global registry, not a free-text field. A dynamic QR code will hold whatever data you give it forever, but that permanence works against you here: a made-up number doesn't become valid because it's printed on ten thousand boxes.

Put an unlicensed number in the /01/ position and one of two things happens at a retail POS: the register rejects the scan outright, or worse, the number collides with a GTIN already licensed to a different company — corrupting both companies' inventory data and triggering failed checkouts.

The fix is straightforward: license a GS1 company prefix through your local GS1 organization. Once you're licensed, QRTRAC's builder handles the rest.

What Happens at the Checkout Scanner

Retail is mid-transition. Older 1D laser scanners read only line barcodes (UPC/EAN) and can't see a QR code at all. Newer image-based scanners — the ones rolling out ahead of the industry's Sunrise 2027 target — read 2D codes including QR, and handle both jobs from the same printed code:

At the register

The scanner reads the /01/ GTIN directly from the URL path and rings up the item — no internet connection needed, exactly like a UPC scan today.

In a shopper's hand

A phone camera opens the same code as a normal link — routed to a product page, ingredient list, or care instructions, not a register.

One printed code, two audiences, no separate barcode needed alongside it.

Who's Responsible for What

A GS1 Digital Link QR code working at retail checkout depends on three things lining up: the QR code itself, the retailer's scanner, and the retailer's POS software. No QR platform — QRTRAC included — controls all three. Be precise about which part is whose:

✓ QRTRAC's Responsibility

  • • Generate a QR code with a GS1-Digital-Link-structured URL
  • • Build that structure around your GS1-issued GTIN
  • • Host and maintain the dynamic link
  • • Route it to your current product information
  • • Let you update the destination without reprinting
  • • Provide scan analytics

! The Retailer's Responsibility

  • • Scanner hardware must read 2D barcodes, not just 1D
  • • POS software must recognize GS1 Digital Link structure
  • • Their systems must process the extracted GS1 data correctly

GS1 is actively pushing retailers toward 2D-capable scanning ahead of Sunrise 2027, but coverage varies by retailer today. Before printing packaging around this, confirm with your specific retail partners that their scanners and POS software are already GS1 Digital Link-ready — that's not something any QR code generator can guarantee on a retailer's behalf.

How a Scan Actually Resolves

The QR code never encodes a destination directly — it encodes a GS1 identity. What happens next depends on who's asking.

https://id.qrtrac.com/01/09501234567890/10/ABC123
QRTRAC Resolver
🖥️

GS1-Aware POS / Scanner

Extracts GTIN and batch straight from the URL path — no lookup required, works offline exactly like a UPC scan.

GTIN: 09501234567890
Batch: ABC123
→ Checkout
📱

Consumer's Phone

Opens a full resolver lookup — QRTRAC identifies the product and qualifiers, then serves the right content for that request.

Resolved via QRTRAC
→ Product experience

Under the Hood: What the Resolver Does With a Scan

For anyone evaluating this technically, here's the actual sequence. A scan of /01/09501234567890/10/ABC123?17=270630 gets parsed into structured data before anything else happens:

{ "gtin": "09501234567890", "batch": "ABC123", "expiry": "2027-06-30" }
1
Validate — Confirm the URI matches valid GS1 Digital Link syntax before doing anything else.
2
Identify the product — Match the parsed GTIN against your registered product records.
3
Identify the qualifiers — Layer in batch and serial to narrow from "this product" to "this specific batch or unit."
4
Find applicable link types — Check which destinations you've configured for this GTIN — product info, instructions, recall, etc.
5
Select the destination — Pick the right one based on the requested link type, device, location, or language.
6
Redirect — Send an HTTP redirect to that destination. Total round trip: milliseconds.

Retail POS scanning doesn't go through this pipeline at all — that's the point made earlier about GS1-aware scanners reading the GTIN directly off the URL path. This resolver flow is what runs for a browser-based scan (a consumer's phone, or a system doing a live lookup rather than an offline extraction).

One Identifier, Multiple Destinations

GS1 defines named link types — gs1:pip for a product information page, gs1:instructions for usage instructions, gs1:nutritionalInfo for nutritional data, and more — so a single GTIN can resolve to whichever piece of content the request actually needs. QRTRAC's resolver supports this: one GTIN, several destinations, selected by link type rather than by printing multiple codes.

GTIN 09501234567890
QRTRAC Resolver
📄
Product Info
gs1:pip
📋
Instructions
gs1:instructions
🥗
Nutritional Info
gs1:nutritionalInfo
🌱
Sustainability
custom
🎁
Promotion
custom
🚨
Recall Notice
custom

The Physical Code Never Changes — the Resolver Mapping Does

This is the part that makes a "lifetime" GS1 QR code genuinely useful rather than just permanent. The code on the package stays identical. What QRTRAC resolves it to can change as often as you need it to.

Today

GTIN resolves to the standard product information page.

Next Quarter

Same GTIN, same printed code — now resolves to the product page plus a seasonal promotion.

If Needed

Same GTIN, same printed code — instantly redirected to a recall or batch safety notice.

Zero reprinting, zero repackaging, in every scenario above.

What QRTRAC Actually Provides

Visual Digital Link Builder

Enter your licensed GTIN and any attributes you need — batch, serial, expiry — into simple fields. QRTRAC assembles the spec-compliant URL structure so you're not hand-writing AI syntax.

GS1 Digital Link Resolver

QRTRAC parses the GTIN and qualifiers out of a scanned Digital Link, matches them to your product, and resolves to the correct destination — including distinct link types like product info, instructions, and nutritional data.

Hosted Dynamic Routing

The URL your code encodes lives on infrastructure QRTRAC hosts. Change the destination — a new manual, an updated ingredient list — and every code already printed on packaging updates instantly.

Location & Language Filters

Route a French shopper to a French-language product page, or a scan from a specific region to region-specific compliance information, from the same printed code.

Instant Recall Routing

If a batch fails a safety check, redirect scans of that batch's code to a recall notice immediately — without touching a single unit already on a shelf.

Your Own Domain

GS1's syntax doesn't require id.gs1.org — the Digital Link can live on your own domain (or a QRTRAC-hosted one) and stay fully compliant.

Building Your First One

1

License your GTIN

If you don't already have one, license a GS1 company prefix through your local GS1 organization. This has to happen before anything else — QRTRAC can't generate a valid GTIN for you.

2

Open the GS1 Digital Link builder

In your QRTRAC dashboard, create a new QR code and select the GS1 Digital Link structure. Enter your GTIN and any application identifiers you need (batch, serial, expiry).

3

Set your destination

Point the resolved link at your product page, manual, or compliance page. Add location or language rules here if different scanners should land somewhere different.

4

Export and test

Download the code at print resolution and test-scan it with both a standard phone camera and, if possible, an actual retail scanner before a full print run.

Frequently Asked Questions

Can I invent my own GTIN instead of licensing one from GS1?

No. A GTIN has to be officially licensed to your company by GS1 through a GS1 member organization. If you put an unlicensed number in the /01/ position of a Digital Link, retail POS systems checking it against the official GS1 registry will either reject the scan or — worse — match it to someone else's licensed product, causing failed checkouts and inventory errors on both sides.

Does QRTRAC generate GS1 Digital Link QR codes?

Yes. QRTRAC's visual builder takes your licensed GTIN plus optional application identifiers (batch, serial, expiry date) and assembles a spec-compliant GS1 Digital Link URL. QRTRAC also acts as the resolver — parsing a scanned Digital Link and routing it to the right destination, including distinct link types like product info, instructions, and nutritional data. What QRTRAC cannot do is issue or license GTINs — that part only GS1 provides.

Does QRTRAC's resolver support multiple link types for the same GTIN?

Yes. One GTIN can resolve to different content depending on what's being requested — a product information page, usage instructions, nutritional data, sustainability information, a promotion, or a recall notice — without printing a separate code for each. You manage which link types are active per product from your dashboard.

Will an image-based POS scanner actually read a QR code?

Modern image-based scanners (the kind rolling out ahead of Sunrise 2027) read 2D codes including QR. They extract the GS1 Application Identifier and GTIN from the URL path and ignore the domain — so the same code works at checkout and as a normal link for a shopper's camera. Older laser-only scanners that read 1D barcodes exclusively will not read a QR code; that's exactly the hardware transition Sunrise 2027 is pushing retailers through.

Do I need GS1 Digital Link for every QR code I print?

No. It's the right structure when the same code needs to work at retail POS and for consumer or regulatory lookups, or when a retail partner requires GS1-standard identification. For a marketing campaign, an event, or a single-destination link, a plain dynamic QR code is simpler and does the job.

Does POS scanning need a live connection to QRTRAC?

No. A GS1-aware POS scanner reads the GTIN and any qualifiers straight out of the URL path itself — that data is embedded in the identifier, not fetched from a server. QRTRAC's resolver only gets called for a browser-based scan (a consumer's phone opening the link), where it looks up the right destination and returns it. Checkout scanning works exactly like a traditional 1D barcode scan: no internet dependency at the register.

Build a Compliant GS1 Digital Link Today

Bring your licensed GTIN — the builder and hosting are ready.

Start Free Trial