Sunrise 2027 Does Not Kill the UPC. It Puts a URL in the Barcode
GS1 asks every retail checkout to read 2D codes by 2027. It is a commitment, not a mandate, and the interesting part is Digital Link.

Table of contents
The headline going around is that the UPC barcode dies in 2027. It does not. What GS1 has organised is a commitment that retail point-of-sale systems will be able to read 2D codes by then, which is a different claim and a much more interesting one.
The part worth a developer's attention is not the shape of the symbol. It is that the thing encoded inside it stops being a number and becomes a URL.
Key takeaways#
- Sunrise 2027 is an industry commitment, not a regulation. Nobody is switching off 1D scanning.
- The target is that checkouts can read 2D codes. Packaging is expected to carry both for years.
- The 2D formats are QR and GS1 DataMatrix, and both must still carry the GTIN.
- GS1 Digital Link is the actual change: the barcode holds a resolvable URI.
- Digital Link URI syntax reached version 1.7.0, ratified August 2026.
What the commitment actually says#
GS1 US formalised the initiative in 2022. Major retailers agreed to have point-of-sale systems capable of accepting 2D barcodes by the end of 2027.
Read that carefully, because two things follow that most coverage skips.
It is a coordinated industry commitment rather than a government mandate, so there is no enforcement and no penalty. And it describes what the scanner can do, not what the package must show. A product carrying only a UPC in 2028 will still scan, because the retailer upgraded their equipment rather than replacing their catalogue.
GS1's own guidance asks manufacturers to print 2D codes alongside the existing 1D symbol, and most retailers are planning for an extended period of dual-symbol packaging. The transition is additive.
Why bother, if the UPC still works?#
Because a UPC carries about twelve digits and nothing else. That is enough to look up a price and no more.
A 2D symbol has room for a GTIN plus a batch number, an expiry date, a serial number, and a link to whatever you want to publish. Which means the checkout can refuse to sell an expired unit, a recall can be scoped to one lot instead of the whole product line, and a customer scanning the same code with a phone can be shown allergen information.
One symbol, three audiences: the scanner, the supply chain, and the shopper. That is the argument, and it is a reasonable one.
GS1 Digital Link is the actual standard#
Here is the piece that makes this a web problem. Digital Link defines how a GS1 identifier is expressed as a URI, so the barcode holds a real, resolvable web address.
The structure:
https://id.gs1.org/{primary-key}/{value}[/{qualifier}/{value}][?{attributes}]A concrete one:
https://id.gs1.org/01/09520123456788/10/ABC1/21/12345?17=180426Every segment is an Application Identifier, the numeric codes GS1 has used for decades, now expressed as path segments:
| AI | Meaning | Position |
|---|---|---|
01 | GTIN | primary key |
10 | Batch or lot | qualifier |
21 | Serial number | qualifier |
17 | Expiry date | attribute |
414 | GLN, a physical location | primary key |
So the example is GTIN 09520123456788, batch ABC1, serial 12345, expiring 26 April 2018. The distinction between qualifiers in the path and attributes in the query string is deliberate: qualifiers narrow which item you mean, attributes describe it.
The current syntax is version 1.7.0, ratified August 2026.
What resolving it means#
A scanner reading that URI can extract the GTIN and behave exactly as it does today, without any network call. Nothing about checkout depends on the URL being live.
A phone camera, on the other hand, opens it. That is where the resolver comes in: id.gs1.org or your own domain redirects the request to whatever is appropriate, which might be a product page, a certificate of authenticity, or a recall notice.
You are allowed to use your own domain. https://example.com/01/09520123456788 is a valid Digital Link URI provided it follows the same path grammar. That matters more than it sounds, because it means the barcode on your packaging becomes a permanent inbound link to a URL you control, printed on every unit you ship.
Which also makes it an SEO surface, and a long-lived one. A URL you print on a million cartons is a URL you cannot change, so decide the resolver structure before the print run and put redirects behind it rather than deep links.
What to do about it now#
GS1 frames the path as crawl, walk, run, and the sequencing is sensible.
Crawl is adding a 2D code carrying a Digital Link URI next to the existing barcode. Nothing downstream changes and nothing breaks.
Walk adds the extra AIs — batch, expiry, serial — once your systems produce them reliably per unit.
Run is treating the resolver as a product surface rather than a redirect, with content that varies by lot, region or date.
Two practical cautions. Print size and error correction matter far more for 2D than for 1D: a QR code that scans on screen can fail on a curved bottle under supermarket lighting, so test on the actual substrate. And do not encode a shortener. A redirect through a third-party domain adds a hop the retailer cannot verify and a dependency that outlives nothing gracefully.
You can generate a Digital Link URI as a QR code, or a conventional retail symbol, with the QR code generator and the barcode generator. Both encode exactly what you type, in the browser, with no redirect inserted and no expiry.
The short version#
Sunrise 2027 is a scanner-readiness commitment, not a UPC shutdown, and packaging will carry both symbols for years. The change that matters is Digital Link, which turns the identifier into a URI you host. Treat the resolver as permanent infrastructure, start by printing a 2D code alongside the one you already have, and test it on the real package rather than the screen.
Sources: GS1 US: Sunrise 2027, GS1 Digital Link URI Syntax 1.7.0
Tags
- Barcodes
- Gs1
- Qr Codes
- Standards


