What Is a QR Code Resolver (and Why You Need One)
You've created a GS1 Digital Link QR code. Someone scans it. But what happens next?
The QR code contains a URL. That URL points to a resolver, a web service that decides where to send the person who scanned it. Without a resolver, the QR code leads nowhere.
The problem a resolver solves
A regular QR code points to a fixed URL. If you want to change where it goes, you need to print a new QR code. Since QR codes get printed on physical packaging, that means a new print run every time you want to update a link.
A resolver sits between the QR code and the destination. The QR code always points to the resolver. The resolver decides where to redirect based on rules you configure. Change the destination in the resolver, and every printed QR code automatically points to the new place. No reprinting.
Think of it like a phone system's switchboard. The caller (scanner) dials one number (the QR code URL). The switchboard (resolver) routes the call to the right desk (destination) based on context.
How it works in practice
Here's what happens when someone scans a GS1 Digital Link QR code on a bottle of olive oil:
- Their phone reads the QR code and opens the URL:
https://id.example.com/01/09506000134376 - The request hits the resolver at
id.example.com - The resolver looks up product
09506000134376and checks:- What destinations are configured for this product?
- What type of client is making the request?
- The resolver redirects to the appropriate destination
For a consumer scanning with their phone, that destination might be a product page with ingredients and recipes. For a supply chain system making an API call, it might be structured product data in JSON format.
Why GS1 Digital Link needs a resolver
A traditional QR code can point directly to any URL. But GS1 Digital Link QR codes follow a specific URL structure defined by GS1, and the resolver is part of that structure. You can't just point a QR code at your website and call it compliant.
The GS1 standard specifies that the domain in the QR code must be a conformant resolver that:
- Understands the GS1 URI format (extracting the GTIN and other identifiers from the URL)
- Supports multiple link types per product (product info, safety data, traceability, etc.)
- Returns proper HTTP responses (redirects for browsers, structured data for machines)
- Can serve different content to different audiences from the same URL
This is not a one-time setup
GS1 updates its standards regularly. The URI syntax standard alone has gone through six versions since 2019. New link types get added, response format requirements change, validation rules evolve, and conformance tests get stricter. If your resolver falls behind, your QR codes may stop working correctly with retail scanning systems or fail conformance checks. And you won't necessarily know until a retailer tells you there's a problem.
This is the part that catches most brands off guard. Getting compliant once is achievable. Staying compliant as the standard evolves is the real cost, whether that's your engineering team tracking spec changes or paying for a managed service that handles it.
SunriseQR's resolver is tested against the official GS1 conformance test suite and stays updated as the standard evolves. When GS1 publishes changes, we handle the updates so your QR codes stay compliant without any action on your part.
This is what makes the system work at scale. One QR code on the package serves consumers, retailers, regulators, and supply chain partners, all because the resolver knows how to route each type of request.
What a resolver does (and doesn't do)
A resolver does:
- Host the domain in your QR code URL
- Look up products by GTIN
- Redirect scanners to the right destination
- Serve different responses based on what type of link is requested
- Let you change destinations without reprinting QR codes
A resolver does not:
- Host your product pages (it redirects to them)
- Store product data (it stores links to where the data lives)
- Generate QR codes (though many services, including SunriseQR, bundle both)
- Replace your website or e-commerce platform
Your options for resolver hosting
Managed service (like SunriseQR)
You enter your GTINs, configure your link destinations, and the service runs the resolver infrastructure. No servers to manage, no spec to implement. This is the right choice for most brands.
SunriseQR is built for this.
Build your own
If you have a development team, you can build a resolver that implements the GS1 Digital Link standard. This involves URI parsing, content negotiation, link management, conformance testing, and 24/7 uptime. On top of that, you need to track GS1 spec changes as they're published and re-test conformance after every update.
It's a serious engineering project, and it doesn't end at launch. For most brands, the long-term maintenance cost far exceeds a managed service.
What happens if the resolver goes down?
This is the single most important operational concern. If your resolver is unavailable:
- Every QR code you've ever printed leads to an error page
- Consumers get a broken experience
- Any app or system that follows the link to look up product data gets an error
- You have no way to fix it by reprinting (the codes on shelves and in warehouses all point to the same domain)
This is why resolver uptime matters more than almost any other factor when choosing a provider. It's also why self-hosting a resolver carries real risk: you need monitoring, redundancy, and someone on call when things break. SunriseQR runs its resolver on a global edge network with caching at every point of presence, so even if the origin database has a brief disruption, cached responses keep serving.
Do I need my own domain?
No. Your QR codes contain URLs like https://id.sunriseqr.com/01/00012345678905. The resolver handles the routing behind the scenes -- consumers never see the domain, they just land on your product page, retailer link, or wherever you've configured the code to go.
Want to understand the technical details? Read GS1 Digital Link URI Structure for the spec deep dive.