GS1 Sunrise 2027: What 2D Barcodes at Checkout Mean for Small Retailers
Packaging is starting to carry two barcodes instead of one. Alongside the familiar EAN or UPC stripes, a small square code is appearing on cartons, labels and shelf-ready packs — sometimes a QR code, sometimes a Data Matrix. The industry name for the transition behind those squares is Sunrise 2027, and if you run one shop or five, the first thing worth knowing is that most of the work is not software you buy. It is four questions about equipment and data you already own.
This guide is written for independent retailers, particularly in grocery and apparel, where the two barcodes are showing up first. It covers what Sunrise 2027 is and is not, what a 2D code actually carries, the four places readiness can break, a checklist you can run in your own store, and what to test before you spend anything on hardware.
What is Sunrise 2027 — and what is it not?
Sunrise 2027 is an industry goal, coordinated through the standards body GS1, that retail point-of-sale systems should be able to read and process a defined set of 2D barcodes carrying GS1 standards in addition to the linear barcodes they read today, by the end of 2027. Outside the United States the same effort is usually called Ambition 2027; GS1's own explanation of Ambition 2027 and the GS1 US Sunrise 2027 page describe the same transition in the same terms.
Three misreadings of that sentence cause most of the panic, so it is worth taking them one at a time.
It is not the end of UPC and EAN. GS1's own 2D Barcodes at Retail Point-of-Sale Implementation Guideline is blunt about this:
Linear barcodes (e.g., EAN/UPC and GS1 DataBar) will not go away and will coexist with 2D barcodes for as long as there are uses for them.
During the transition, a product is expected to carry both: the current linear barcode and a 2D symbol. Nothing about 2027 stops a plain UPC from ringing up.
It is not a legal deadline. No regulator set this date and nothing happens to your shop if you reach 2028 without a new scanner. It is an industry ambition, adopted at different speeds in different markets, and GS1 US is explicit that “it is not necessary to implement all the capabilities of 2D by that date.” Separate regulations on food traceability or product disclosure do exist in some markets and may have real dates attached — but those are their own obligations, not this one.
It is not one mandated symbol. Three data carriers are in scope for general retail: GS1 DataMatrix, a QR code carrying GS1 Digital Link URI syntax, and a Data Matrix carrying GS1 Digital Link URI syntax. GS1 says plainly that there is no expectation of a single 2D barcode for all industries, which is why the right question is never “are we 2D ready” but “can we handle the specific codes our suppliers are printing”.
So what is it, for a shop with one or two lanes? It is the point at which the codes on your suppliers' packaging start carrying more than a number, and the point at which it becomes worth knowing exactly what your counter does when one of them is presented.
Why do 2D barcodes matter at the checkout? GTIN plus data
A UPC or EAN encodes one thing: the Global Trade Item Number, the GTIN. That is the number your POS looks up to find the item, the price and the tax rate. It has done that job well for fifty years, and the reason it is being supplemented rather than replaced is that it cannot carry anything else.
A conformant retail 2D barcode carries the same GTIN plus, optionally, additional data elements labelled with GS1 Application Identifiers — a batch or lot number, a production or expiry date, a serial number. In the GS1 Digital Link form, the payload is a web address that encodes those elements as part of the URL, so the same square is both a machine-readable product identifier and a link a shopper's phone can open.
GS1's 2D Barcode Playbook for Retail Scanners gives a worked example. A QR code encoding this Digital Link URI:
https://id.dalgiardino.com/01/09506000134352/10/ABC?17=231231
can be transmitted to the POS as this GS1 element string, where ^ stands in for an unprintable group separator character:
010950600013435210ABC^17231231
Read left to right: application identifier 01 introduces the GTIN, 10 the batch, 17 the expiry date. One scan, three facts.
That is the part worth caring about commercially. For a grocer, an expiry date arriving at the lane is the difference between a policy about date checks and a system that enforces one, and the same data is what makes a recall a query rather than a shelf-by-shelf hunt. For apparel, variant-level and serial data travel with the garment, which changes what returns and stock accuracy can look like. On the consumer side, GS1 US reports from a 2025 consumer survey that 79% of shoppers said they were more likely to buy a product whose scannable QR code offered additional product information — a self-reported survey figure rather than measured sales, but a reasonable indication of why brands are motivated to print these codes whether or not their retailers asked for them.
The important caveat: extra data is only worth anything if something downstream stores and uses it. That is precisely why GS1's scanner guidance defines three operating modes, and why the minimum for 2027 is the least ambitious of them — Mode 1, in which the scanner finds the first GTIN in whatever barcode it can read, sends only that, beeps once, and waits for the next item. Mode 2 prioritises the 2D symbol and sends the GTIN plus additional data. Mode 3 reads everything on the pack and groups it under a generated label identifier. A small shop that only wants its tills to keep working needs Mode 1 and nothing more.
Four questions that decide whether your store is ready
Readiness is not a single yes or no, and it is not a property of your POS software alone. It is four separate things that all have to line up, owned by four different parties. GS1 US frames the same ground as a set of infrastructure questions in its Getting Started with 2D in Retail guide for retailers, which is worth reading alongside this section.
| Layer | What has to be true | Who you ask |
|---|---|---|
| Scanner hardware | The model is a 2D area imager and explicitly supports the required QR and Data Matrix symbologies | Scanner manufacturer or the supplier who sold it |
| Scanner software and configuration | Firmware decodes the retail 2D carriers, Mode 1 at minimum, handles reversed reflectance, ignores non-GS1 codes | Scanner manufacturer |
| POS processing | The register does something sensible with whatever the scanner transmits, and still finds the item | Your POS provider |
| Product and item data | A number you have stored matches the number the scanner sends | You |
| Supply and packaging | You know which of your suppliers are adding 2D codes, to which lines, and when | Suppliers, your own-brand printer, your local GS1 office |
The scanner question splits into two halves, which is why the table has five rows for four questions. Those two halves fail differently and cost differently, so it is worth keeping them apart.
Can the scanner see a 2D code at all?
A camera or image sensor does not by itself make a scanner 2D-capable. Laser scanners and 1D linear imagers read linear barcodes only; a 2D area imager captures an area and can decode symbols such as QR codes and Data Matrix. Check that the exact model explicitly lists 2D area imaging and the symbologies you need — “imager” alone is not enough, and no software update can turn 1D-only optics into a 2D area imager.
Even among 2D area imagers, do not assume that every model can read every square. GS1's playbook flags this directly: not all 2D scanners decode every type of 2D barcode by default, a scanner that reads GS1 DataMatrix may not interpret a QR code with Digital Link URI syntax without a firmware or configuration change, and readiness varies between manufacturers and models. Their advice is to contact the scanner supplier and confirm, which is also our advice. GS1 publishes readiness criteria that solution providers self-assess against, and GS1 US's Sunrise 2027 technical resource guide points to a continually updated table of scanner models with their manufacturers' attested readiness status. Between the two you can usually place your own model before you phone anyone.
If you have a handheld that already reads QR codes on loyalty vouchers, or the 2D code on the back of a driver's licence for an age check, you own a 2D-capable area imager. That is genuinely a good start, and it is more common than shopkeepers expect — plenty of counters are running 2D hardware bought for one narrow job. It is still not the same as knowing that it will decode a Digital Link QR code on a cereal box and hand your register a clean GTIN.
Two configuration details are worth knowing before you talk to a supplier. Retail 2D codes may be printed reversed — white on black — and a scanner has to handle both reflectance directions. And a 2D area imager searching a pack for further barcodes uses a timeout setting, typically 200 to 700 milliseconds, that trades data completeness against how fast the queue moves.
Can your POS process what the scanner sends?
Your POS does not see the barcode. It sees whatever characters the scanner decides to transmit, which is why the scanner's mode matters more to your software than the symbol on the box does.
In Mode 1, what arrives is a GTIN: digits, of the kind a linear scan sends today. GS1 notes that if the scanner converts 14-digit GTINs back to the 8, 12 or 13 digit form, no POS changes may be needed at all. That is the cheapest possible outcome and it is available to most independents.
In Mode 2 or Mode 3, what arrives is a GS1 element string — application identifiers, values, and a group separator character that is not printable — and in Mode 3 an 8-digit label identifier in front of it. A system expecting a plain product number may treat the whole string as one long item number and fail the lookup, or find the item and quietly discard the rest. Which of those happens in your POS is a question for your provider, not something to infer from a feature list. The “questions to ask your POS provider” list further down has the exact wording to use.
Is your own item data ready for a GTIN?
This is the layer retailers underestimate, and it is the only one entirely within your control.
A lookup succeeds when the number transmitted matches a number you stored. So the practical questions are about your item records, not your equipment. Do your items carry the manufacturer's barcode number at all, or only an internal SKU? Apparel catalogues built by hand often have the second and not the first. Are they stored consistently, without stray spaces, and at a consistent length — because a 13-digit EAN and the same GTIN normalised to 14 digits with a leading zero are different strings even though they identify the same product.
Then there is the case the transition creates: one product, two codes. During dual marking the same item can reach you under more than one number, so an item record that can only hold a single barcode will need a workaround, and one that can hold several will not.
Your private label is the part of your assortment where you are the brand owner. GS1 US's crawl-walk-run roadmap for retailers has adding GS1 2D barcodes to your own brand products among the early moves, and removing the 1D barcode from them as a later one. That ordering makes sense: your private label is the only packaging whose timing you decide, which also makes it the safest thing to pilot on.
Have you asked your suppliers and brands what they are printing?
You do not control most of the packaging that crosses your counter, so readiness is partly a procurement conversation. Three questions to your larger suppliers cover most of it: whether they are adding 2D codes, to which product lines, and from when. A fourth matters more than it sounds: does the GTIN inside the 2D code match the GTIN in the linear barcode on the same pack? GS1 specifically warns that during the transition, conflicting or duplicated GTINs across the two barcodes on one product can cause unintended transactions — the pack scanning as two different items being the obvious failure.
Your local GS1 member organisation is worth a call as well. Adoption timing is national, not global, and if you sell in more than one country the answers will differ.
A small-retailer audit checklist
An afternoon with a notepad gets you most of the way. Do this per store, because two shops kitted out in different years are rarely running the same scanner generation.
- List every scanner, by location, make and model, including the handhelds used for stock counts and receiving, not just the ones at the lane.
- Record each scanner's exact technology and 2D support. Check the manual for “2D area imager” and explicit QR and Data Matrix support; “imager” may mean a 1D linear imager. Reading a QR code on a phone is a useful field check, not a substitute for the model specification.
- Look up each 2D area-imager model against GS1's published solution-provider readiness criteria and the GS1 US scanner readiness table before contacting anyone.
- Record the firmware version on each scanner and ask the manufacturer what the current version supports. This is where most of the 2D capability lives.
- Note the interface — USB keyboard wedge, USB HID, serial, or something proprietary — because it determines what your POS can be told about the scan.
- Decide which mode you want. For most independent shops the honest answer is Mode 1, GTIN only, with the additional data left for later.
- Audit your item numbers. Count items with no barcode number stored, and check length consistency across the catalogue.
- Find the duplicates. Products that already arrive under two codes tell you whether your item records can hold more than one number.
- Ask your five biggest suppliers what they are printing and when.
- Separately, ask about your private label — that packaging change is yours to schedule, and it is the one you can pilot on.
- Write down what breaks if a scan fails. A shop where the cashier can key a number has a slow lane; a shop where nobody knows the item's price has a stopped lane. That difference decides how much urgency any of this deserves.
- Put the whole thing on one page and date it. Scanner firmware and supplier plans both move; an undated audit is worth less than no audit.
Nothing in that list requires buying anything, and finishing it usually reveals that the exposure is narrower than feared — commonly one scanner without 2D area-imaging support at a secondary till.
What should you test before you replace hardware or workflows?
Test first, buy second. The temptation with a dated industry milestone attached is to replace the whole counter, and it is almost always more equipment than the situation calls for.
GS1 publishes a 2D Barcodes in Retail test suite for exactly this: a set of GS1-conformant sample barcodes, linear and 2D, with a documented procedure and a tracking sheet for recording what each of your systems did. GS1 puts the scanning itself at around 30 minutes once setup is done, and the setup is the part worth getting right.
Work in this order.
- Add the test GTINs to your system first. The suite's control GTINs have to exist as items, or every scan simply returns “product not found” and you learn nothing. Create throwaway test items carrying those numbers, and delete them afterwards.
- Print the test barcodes. GS1 notes that both home-office and industrial printers produced barcodes that scanned without issue, and that scanning off a screen is possible but not recommended. Print them.
- Scan the linear controls. This is the control test. If a plain UPC-A sample does not ring up your test item, the problem is your test setup, not your scanner.
- Inspect the 2D payload outside the till. Use a key-event or code-point inspector, or another control-character-aware tool, so ASCII 29 group separators are shown explicitly. A plain text field may hide them, collapse the payload into an apparently uninterrupted string, or react to the control character, so it cannot reliably distinguish a GTIN-only transmission from a GS1 element string.
- Then scan them into the register and record whether the item is found, whether it beeps once, and what ends up on the line.
- Include the reversed samples. White-on-black codes are a common and specific failure.
- Test a pack carrying both barcodes. One item on the sale, one beep, correct price. Two lines from one product is the conflicting-GTIN failure GS1 warns about, and you want to meet it in a test, not on a Saturday.
- Time a realistic run. GS1's own lab testing puts current-generation bi-optic scanners near 200 milliseconds and presentation or handheld scanners near 500, with modern scanners managing at least 40 items per minute; staff are advised to pause a handheld for roughly a quarter of a second and to move smoothly across a bi-optic window. If your numbers are far off that, the fix may be technique rather than equipment.
- Record results per station. GS1 notes that different installations of the same hardware can behave differently, so one good result is not a store-wide pass.
Only now does a purchase decision make sense — and it is usually a narrow one. If the gap is a scanner without 2D area-imaging support, that is a scanner to replace, not a POS to migrate. If the gap is what the register does with an element string, changing scanners will not fix it. Large estates sometimes bridge that gap with POS middleware that translates 2D data before it reaches the host system; it is rarely the right tool for an independent, but it is a useful term to recognise if a vendor offers it.
If you are working through hardware more broadly, our guide to whether your existing POS hardware will work with a new POS system covers the printer, drawer and card-reader side of the same audit, and the same rule applies: test old equipment on a spare counter before you commit to replacing it.
How do barcode, label and inventory workflows fit into a preparation plan?
Most of what makes this transition survivable is unglamorous catalogue hygiene, and that work pays off whether or not a single supplier changes their packaging this year.
PHP Point Of Sale runs in the browser and reads a keyboard-wedge barcode scanner with no driver and no software installed on the machine when the scanner sends the register's expected terminator after the code — normally an Enter suffix. Plug it in and it types what it scans, but confirm both the payload and that suffix: a scanner can put characters into a text field without submitting the register lookup. For GS1 Mode 2 or 3 payloads, use the control-character-aware inspection described above rather than an ordinary text field, because ASCII 29 separators may be invisible. Switching the scanner's mode or suffix is a scanner configuration decision.
Worth saying plainly, because it surprises people: 2D scanning is not new territory here. With a 2D-capable scanner, the register already reads the QR code labels PHP POS prints for your own items, and it already reads the 2D barcode on the back of a driver's licence — parsing it into fields rather than treating it as one long number. Turn on driver's licence scanning and a Scan driver's license button on the customer form fills the name, address and birth date from one scan. Turn on age verification, mark an item with a required age, and the register will accept a licence scan instead of a typed birthday — or, with the stricter setting, accept nothing else. Our barcode scanning page lays out what the register reads in 1D and in 2D, and where each setting lives.
That matters for this article in one specific way: it shows the difference between reading a 2D symbol and understanding GS1 syntax. The first is largely a scanner question and is already settled here. The second is the actual substance of Sunrise 2027, and it is where the honest answer gets shorter.
On the data side, an item in PHP POS carries a UPC/EAN/ISBN number — the barcode on the product — a separate Product ID for your own internal SKU, and Additional Item Numbers, so one product can answer to several codes, which is the shape the dual-marking period asks for. The order in which those identifiers are searched is configurable, and item numbers import in bulk from a spreadsheet, with extra numbers for the same item separated by a pipe character. If your audit turned up items with no barcode stored, that import is the fastest route out.
On the label side, PHP POS generates Code 128 barcodes and QR codes for your items and prints them from the items list, a completed receiving or an open inventory count, either on standard Avery-style sheets or to a thermal label printer. The Label Designer adds a drag-and-drop layout with barcode, QR, price and text fields for custom label sizes, and there is a free barcode generator on this site if you want to preview a Code 128 symbol without logging in anywhere. Receiving, counts and stock history sit in the inventory tooling, and if your catalogue needs restructuring first, moving inventory data to a new POS system and running a physical inventory count are the two jobs that usually come before anything barcode-related.
Now the limits, stated plainly. We are not going to tell you that PHP Point Of Sale is “Sunrise 2027 ready”, because that phrase does not mean anything until it has been tested against the specific codes your suppliers actually print, on your actual scanner, at your counter. What we print today is Code 128 and QR codes — not GS1 DataMatrix, and not a conformant GS1 Digital Link URI for your own products. The Label Designer's QR field can hold a URL or custom data, which is a different thing from producing a standards-conformant Digital Link for a GTIN you own; that is a conversation to have with your GS1 member organisation before you print anything for your private label. And reading a 2D symbol, which we do, is not the same as decoding and parsing GS1 element strings or GS1 Digital Link URIs, which we do not. Where a capability is not verified, the right move is to ask rather than to assume — including of us.
Questions to ask your POS provider
Take these to whoever supplies your POS, ours included, and write the answers down:
- When my scanner transmits a GS1 element string — application identifiers, values and a group separator character — what does the register do with it?
- Does item lookup normalise GTIN length and leading zeros, or does the stored number have to match character for character?
- Can one item record answer to more than one barcode number?
- If a batch number or expiry date arrived with a scan, is there anywhere for it to go, and is that field reportable?
- Can I change my scanner's operating mode without any change to the POS?
- Will you run the GS1 test suite with me against my own equipment, and share the results?
A provider who answers the first question with “it depends what your scanner sends” is being accurate, not evasive. One who answers every question with an unqualified yes has not tested it.
FAQ
Will my UPC and EAN barcodes stop working in 2027?
No. GS1's own implementation guideline states that linear barcodes will not go away and will coexist with 2D barcodes for as long as there are uses for them. During the transition, products are expected to carry both a linear barcode and a 2D symbol.
Is Sunrise 2027 a law or a deadline I can be penalised for missing?
No. It is an industry goal coordinated through GS1, adopted at different speeds in different markets, and GS1 US states that it is not necessary to implement all of 2D's capabilities by that date. Separate regulations on traceability or product disclosure may apply to you and do carry their own dates, but they are different obligations.
Do I need a new barcode scanner?
Only if yours is laser-based, and possibly not even then, depending on where you use it. A laser scanner cannot read 2D codes at all. An imager-based scanner can, but not necessarily every 2D type by default — firmware and configuration matter, and GS1 advises confirming capability with the scanner supplier. Check the model against GS1's published readiness information before buying anything.
What does a 2D barcode carry that a UPC does not?
The same GTIN, plus optional data elements labelled with GS1 Application Identifiers — batch or lot number, production or expiry date, serial number — and, in the GS1 Digital Link form, a web address the code also resolves to. Whether any of that reaches your POS depends on which of GS1's three scanner modes you configure.
What is the cheapest useful first step?
Two hours and no money: list your scanners with models and firmware versions, find out which are imagers, and scan a few 2D codes into a plain text field to see exactly what your equipment transmits. That tells you whether you have a hardware problem, a software question, or neither.
Does PHP Point Of Sale read 2D barcodes today?
Yes, with a 2D-capable scanner, for two things: the QR code labels it prints for your own items, and the barcode on the back of a driver's licence, which it parses into name, address and date of birth for a customer record or an age check. What it does not do is decode or parse GS1 element strings or GS1 Digital Link URIs, or generate GS1 DataMatrix. The barcode scanning page sets out both halves of that.
Can I prepare without changing POS systems?
Usually, yes. The layers most likely to need work are the scanner's firmware and your own item data, and neither requires replacing your software. The question to settle with your provider is what the register does with a 2D transmission, and whether your scanner can be set to send a plain GTIN if the answer is unsatisfying.
Bottom line
Sunrise 2027 is a coordination milestone, not a switch-off. The linear barcode is not going anywhere, nobody is enforcing the date on your store, and the practical exposure for an independent retailer is usually one old scanner and a catalogue with gaps in the barcode column.
So do the boring version. Audit the scanners, tidy the item numbers, ask your five biggest suppliers what they are printing, and run GS1's test barcodes through your own counter before you buy anything. If you want to talk through the item data and label side of that plan against your own catalogue, book a demo or get in touch — and bring your scanner model numbers.