← Back to Blogs
Barcode

GS1 2D readiness: how to print, apply and verify QR codes and DataMatrix on your line

1st October 2026
Alex Smith

A 2D barcode is ready for the retail till only when three things are true on your production line. It is printed to GS1’s size and quality rules. It sits where a checkout scanner expects to find it. And you can prove, every shift, that it scans and carries the right data. For each, you will find the numbers GS1 sets and the checks we use when we set up printing, labelling and vision systems for UK manufacturers.

If you want the wider picture first, our Sunrise 2027 guide to the 2D barcode transition covers what is changing at the till, why it is happening and when each team needs to act.

Since we published that guide, a growing number of food and drink companies have come to us for 2D advice. Many are responding to requests and requirements from major supermarkets ahead of Sunrise 2027. Their questions usually start with whether their existing printers and scanners are ready, then move to where the code goes, print quality and how product data gets into the code.

Key takeaways

  • A 2D code is ready for the till only when it passes three separate checks: print quality, the data inside it and, for a Digital Link QR code, where the link goes.
  • For till scanning, GS1 sets the module size between 0.396 mm and 0.990 mm and the minimum print quality at 1.5/12/660.
  • Place the whole code, quiet zone included, within 50 mm of the centre of the existing linear barcode.
  • A scanner only shows that a code read once. Grade samples with a verifier: a code can keep scanning while its grade falls.

1. What does “2D-ready” mean on a production line?

On a production line, 2D-ready means you can print a GS1-compliant 2D code at line speed, apply it where a till scanner will find it and check every code for print quality, data and destination. A code can fail on any one of those while passing the other two, so each needs its own check.

Each failure has its own cause and its own check:

Where it failsWhat goes wrongWhat catches it
Print qualityModules too small, poor contrast, smudging, a distorted grid, a crowded quiet zone (the clear margin around the code)A barcode verifier grading the code to ISO/IEC 15415
DataThe wrong GS1 Application Identifier (the number that labels each piece of data), a missing separator character, a bad check digit, more data than the code needsValidating the encoded data against GS1’s rules, at creation and on the line
DestinationA QR code whose GS1 Digital Link web address leads nowhere usefulTesting the link itself, with a phone, before launch

GS1’s own implementation guideline points out that barcode verification cannot tell you where a 2D code sends someone on the web; that needs a test of its own.

[BACK TO TOP]

2. Which 2D codes can a UK retail till accept?

GS1 allows three 2D options on consumer products scanned at retail checkouts: GS1 DataMatrix, a QR code carrying a GS1 Digital Link web address and a Data Matrix carrying the same kind of address. During the transition, each is printed alongside the existing EAN-13 or UPC barcode. GS1 Digital Link is a way of writing your GTIN (your product’s barcode number) into a web address, not a separate kind of barcode. A plain marketing QR code does not count, because it does not carry your GTIN in a structure the till can use. Our Sunrise 2027 guide includes a decision tree for choosing between the three.

[BACK TO TOP]

3. What size and quality does GS1 set for 2D codes at the till?

For consumer products scanned at retail point of sale, GS1 sets the module size of a 2D code between 0.396 mm and 0.990 mm, with 0.495 mm as the target. The minimum print quality is a grade of 1.5, measured through a 0.30 mm aperture under 660 nm red light (written by GS1 as 1.5/12/660).

The module size (GS1’s term is the X-dimension) is the width of one of the small squares that make up the code. These figures are for products scanned at the till only. If the same 2D code is also scanned in warehouses and distribution, GS1 applies a different table (Symbol Specification Table 3, addendum 1), so check that one.

SpecificationGS1 requirement for 2D codes scanned at the till
Module size (X-dimension)Minimum 0.396 mm, target 0.495 mm, maximum 0.990 mm
Quiet zone (clear margin on all four sides)1 module for GS1 DataMatrix and Data Matrix; 4 modules for QR codes
Minimum print quality1.5/12/660: overall grade 1.5, 0.30 mm measuring aperture, 660 nm light
GS1 Digital Link formatMust use the full, uncompressed form of the web address

The overall size of the code then depends on how much data it holds. GS1 UK gives a worked example: a QR code 29 modules across, plus its 4-module quiet zone on each side, needs 37 modules in total. At the minimum module size that comes to about 14.7 mm square, and at the maximum about 36.6 mm. More data means more modules, and a bigger code.

On a scale of 0.0 to 4.0, a grade of 1.5 is at the lower end of the pass range: a floor that GS1 describes as suitable for optimal scanning conditions. Because GS1 also asks for an allowance for quality lost between printing and the point of scan, we would aim for a comfortable margin above 1.5. Our guide to UK labelling standards and regulations shows how ISO/IEC 15415, the standard for grading 2D print quality, fits with the other rules a UK label must meet.

[BACK TO TOP]

4. How do you print a compliant 2D code on the line?

Start with the data. A code that carries only the GTIN never changes and can be printed in advance on the packaging or label. Once a code carries a batch number, an expiry date or a serial number, it changes from run to run. GS1 notes that this data is usually printed on demand at the plant or on the line. Pre-printed stock cannot carry data that is only known at the moment of production, such as the batch and date, which is where printing on demand wins in our comparison of print and apply versus pre-printed labels.

GS1 publishes indicative 2D quality ranges for the main printing technologies. Real results depend on the model, the set-up and the material:

TechnologyTypical resolution (dots per inch, dpi)GS1’s indicative 2D quality rangeMain watch-out
Thermal transfer overprinting (TTO) on film and labels203, 300 or 600 dpi3.0 to 4.0Match the module to the printhead dots; failed printhead elements leave lines
Thermal transfer label printing, including print and apply203, 300 or 600 dpi3.0 to 4.0; GS1 lists 4.0 as achievable for print and applyLabel stock and ribbon must suit each other; glossy labels reflect scanner light
Continuous inkjet (CIJ) on many materials, including curved surfaces60 to 180 dpi2.0 to 3.0Limited code height; the printhead distance must stay steady

On film and labels, thermal transfer overprinting is a natural fit, because the printhead lays down a regular grid of dots. Continuous inkjet reaches surfaces a thermal printer cannot, such as bottles, cans and outer cases, but with less margin above GS1’s minimum. That makes set-up and upkeep on CIJ coders more critical when they print 2D.

GS1 is clear that not every production line, printer or piece of equipment in service can produce a quality 2D code. The first practical step is an audit of each line: what prints there now, at what resolution and speed, onto what material and whether its software can generate a GS1 DataMatrix or Digital Link QR code at all.

Start with an audit of each line

Our 90-minute readiness review covers every printer, applicator and scanner on your lines, and you keep the costed, prioritised action plan.

Speak with a specialist

Match the module to the printhead

Because a thermal printhead is a row of tiny heating dots, each module of a 2D code must be built from a whole number of them. GS1’s guidance is to match the printer’s resolution to the module size.

At 203 dots per inch each printhead dot is about 0.125 mm wide. Three dots make a module of about 0.375 mm, below GS1's 0.396 mm minimum. Four dots make about 0.500 mm, close to GS1's 0.495 mm target.
The same logic applies at 300 dpi, where five dots give about 0.423 mm and six give about 0.508 mm.
Printhead resolutionSize of one dotDots per moduleResulting module sizeAgainst GS1’s range
203 dpiabout 0.125 mm3about 0.375 mmBelow the 0.396 mm minimum
203 dpiabout 0.125 mm4about 0.500 mmClose to the 0.495 mm target
300 dpiabout 0.085 mm5about 0.423 mmInside the range, near the minimum
300 dpiabout 0.085 mm6about 0.508 mmClose to the target

A printer cannot print part of a dot. So a module size set in millimetres that does not divide into whole dots gets rounded, and the code can come out smaller than planned or uneven. Set the module size in whole dots.

Continuous inkjet builds the code from ink drops instead. Its printhead height, commonly 24 or 32 dots according to GS1, caps how much data will fit. Keep the encoded data short and the distance from printhead to pack steady.

Treat these figures as a starting point, not a setting to copy. In our installations no single module size or print setting works everywhere: the right one depends on the printer, the packaging material, the line speed, the print area and how the code will be scanned. So we test and refine each set-up on the real line until the code prints and scans reliably.

Get the data right before it is printed

GS1 lists label software that leaves out a required character, allows invalid characters or ignores its data rules as a common source of trouble. We would check three things first:

  • The FNC1 character. A GS1 DataMatrix starts with an invisible Function 1 (FNC1) character that tells the scanner the content follows GS1 rules. FNC1, or a group separator (GS) character, also marks where each variable-length field ends when another follows.
  • The right Application Identifier. A use-by or expiry date (AI 17) is not a best-before date (AI 15). The wrong one is a data error even when the date is right.
  • Only the data you need. GS1’s advice is to encode what must be captured automatically and leave the rest to be looked up. Every extra field makes the code bigger. For Digital Link QR codes, use HTTPS, which GS1 recommends as more secure, and keep the domain and any batch or serial number short.

We connect label software to customers’ business and warehouse systems, so batch numbers and expiry dates flow into the code automatically instead of being retyped at the line. A code can scan perfectly and still carry the wrong value or a wrongly formatted date, so on each project we check the data mapping, the code format and the printed result against the customer’s requirements. Where no ready-made connection exists, our own developers build the software integration. GS1’s free Barcode Syntax Resource can also check GS1 data before a code is created.

[BACK TO TOP]

5. Where should the 2D code go on the pack?

Put the 2D code close to the existing linear barcode. GS1’s testing found that the 2D code needs to sit within 50 mm of the centre of the linear barcode for tills to keep up their target pace of 40 to 70 items a minute. GS1 UK’s preferred spot is the lower-right quadrant of the back of the pack, with the whole QR code, quiet zone included, inside that 50 mm radius.

The back of a pack divided into four quarters. The EAN-13 barcode sits in the lower-right quarter with a QR-style 2D code to its right. A dashed circle with a 50 mm radius is drawn from the centre of the EAN-13, and the whole 2D code, including its quiet zone, sits inside the circle.
If a pack redesign moves the linear barcode, the 2D code has to move with it.
  • Human-readable numbers. A 2D code next to an EAN-13, EAN-8 or UPC-A barcode that already shows its digits does not need its own. A 2D code on its own needs the 14-digit GTIN printed with it.
  • Clear space and the right surface. Keep the quiet zone free of graphics, folds, seams and pack edges, on a flat, matte area. Glossy film reflects the scanner’s light back into its camera; translucent packs need an opaque background behind the code.

When the code goes on by label, it can only be as well placed as the label. The most common specification mistake we see is choosing the wrong application method for the product: tamp, tamp-blow, blow or wipe-on. A creased label can distort the grid, and a misplaced one can land the code outside the 50 mm zone, so matching the label applicator to the product and line speed matters as much as the printer.

In our print-and-apply work, small adjustments can make a significant difference: moving the label a few millimetres, refining where the code sits on it, or changing the label stock or ribbon. The code has to stay flat, clear and readable once the label is on, so we test each set-up on the actual product and line. Our guide to how print and apply labelling systems work covers the application methods in more detail.

[BACK TO TOP]

6. How do you prove a 2D code will scan?

You prove it with a barcode verifier, not a scanner alone. A scanner tells you that a code decoded once, under its own lighting. A verifier measures the code against ISO/IEC 15415 and GS1’s specification and gives it a grade. Proving readiness takes both, plus a check on the data inside the code and, for Digital Link codes, on where the link goes.

Under the current edition, ISO/IEC 15415:2024, a verifier checks that the code decodes, then grades its contrast, modulation, grid distortion, damage, spare error correction and print growth (new in 2024) for an overall grade from 0.0 to 4.0.

The regime we recommend has four parts:

  • An inline camera on every pack. It reads each code, compares the data with what the line should be printing and rejects failures. In our own installations a check scanner or vision system is standard wherever a label must be readable. Our automated barcode scanning systems read QR and DataMatrix codes on fast-moving packs and flag or divert anything they cannot read.
  • Offline verification on a schedule. GS1 notes that inline systems may not test every quality requirement, and advises re-verifying samples against 1.5/12/660 after changes such as a new printhead, label stock or firmware. We would add a check at start-up and at set intervals, and after a ribbon change.
  • A data check. Confirm that the decoded content has the right Application Identifiers, check digit and structure, as well as the right batch and date.
  • A destination check. Scan each Digital Link code with a phone before launch and confirm it reaches the intended content.

We can build verification into a line alongside printing and inline inspection, and we offer formal verification with 2D grading where it is required. The scope is agreed with each customer, from checking sample labels to verification across a whole production process. GS1 UK also offers a review of barcode and QR code artwork before print and a verification service for printed labels and products.

[BACK TO TOP]

7. Why can a 2D code keep scanning while it fails its grade?

Because 2D codes carry error correction. When part of a code is damaged, the scanner uses spare capacity built into the code to rebuild the missing data, so the code keeps reading while its grade falls. The problem stays hidden until further damage uses up the remaining margin and the code fails to read at the till.

An illustrative line showing a 2D code's print quality grade falling over time as a printhead wears, on a scale from 0 to 4. The code passes above GS1's 1.5 minimum, then falls below it while still scanning, and finally stops reading at the till, where its grade drops to 0.
Illustrative, not measured data. Between the grade failing and the code failing to read, a pass-or-fail scanner sees nothing wrong.

When one of a thermal printhead’s heating elements fails, it leaves a thin blank line through every code printed afterwards, in the same place. The code may still decode, but only because the scanner is spending error correction to repair the line. GS1 notes that moving the code’s position in the label design can steer it away from a failed element: a useful stopgap while a replacement printhead is on order.

Across the sites we visit, we put roughly nine in ten labelling problems down to poor maintenance and working routines, not wrong information. That figure is our own field estimate, but it points straight to the fix: a printhead cleaning routine that follows the printer maker’s schedule, with a named owner on each shift.

Our vision systems do more than pass or fail each code. They grade its print quality and log the result for each label, so a downward trend shows up while the codes are still scanning. Watch that trend, not just the pass or fail: a code that passes every day at a slowly falling grade is a warning that gives you time to act.

When we are called out to a line, we check the printhead or coding equipment first, then the ribbon and the packaging material, then settings such as speed, pressure and alignment. A dirty or worn printhead can make parts of a code drop out, a ribbon that does not suit the surface can cut contrast or durability, and a small set-up change can affect consistency.

[BACK TO TOP]

8. A line-level 2D readiness checklist

  1. Step 1Audit each line
  2. Step 2Fix the data
  3. Step 3Size to the printhead
  4. Step 4Place by the barcode
  5. Step 5Keep verifying

Use this as a working list for each line that will carry a 2D code:

Print

  • The printer on this line can print a module size inside GS1’s 0.396 to 0.990 mm range at full line speed, tested on the real film, label or carton
  • The module size is set in printhead dots, with no rounding
  • The quiet zone is clear: 1 module around a DataMatrix, 4 around a QR code

Data

  • FNC1 is present at the start of a GS1 DataMatrix, with FNC1 or GS after each variable-length field except the last
  • Application Identifiers are correct, check digits validate, and only the data you need is encoded
  • Batch and date data come from your systems, not from manual entry at the line

Apply

  • The whole 2D code, quiet zone included, sits within 50 mm of the linear barcode’s centre
  • A stand-alone 2D code carries the 14-digit GTIN in human-readable form
  • The code sits on a flat, non-glossy area, clear of edges, folds and seals

Verify

  • An inline reader checks every pack and rejects failures
  • Offline verification against 1.5/12/660 at start-up, on a schedule and after any printhead, ribbon, label or firmware change
  • Each Digital Link destination tested with a phone before launch

⚠ Common 2D mistakes to check for first

  • A plain marketing QR code on pack, assumed to count for the till
  • A logo worked into the QR code, which GS1 treats as damage the code has to absorb
  • Red, orange or yellow codes, which red-light scanners and verifiers struggle to see
  • A pre-printed code on a product that needs batch or expiry data in it

[BACK TO TOP]

9. Where Kelgray fits on your line

Getting a 2D code right takes the printer, the label, the applicator, the camera and the data working together. We are a UK manufacturer of print-and-apply machines with our own label production, and we supply and support thermal transfer overprinters, continuous inkjet coders, label printers, ribbons, vision systems, barcode verification and the software that connects them. So one team can audit a line, change what needs changing and prove the result.

We have supplied UK businesses since 1972, as a family-owned company accredited to ISO 9001; there is more about us on our site. To find out where your lines stand, call us on 01293 518733 or email hello@kelgray.co.uk. We will come back to you within one working day to confirm a date for a readiness review.

Book your free 2D readiness review

In 90 minutes on site, we will walk your production floor with you, check each printer, applicator and scanner against GS1’s 2D rules and hand you a costed, prioritised action plan you keep, whether or not you work with us afterwards.

Speak with a specialist

[BACK TO TOP]

Sources

  • GS1, 2D Barcodes at Retail Point-of-Sale Implementation Guideline, version 1.1, December 2025 (ref.gs1.org/guidelines/2d-in-retail): approved 2D options at retail point of sale, symbol specification figures, placement and human-readable text, data encoding, printing technologies and verification.
  • GS1, GS1 General Specifications, Release 26.0, January 2026 (ref.gs1.org/standards/genspecs): section 5.12.3.1, Table 5-46, GS1 Symbol Specification Table 1, addendum 2 (2D barcodes for trade items scanned at general retail point of sale and not in general distribution); section 4.14.2 (human-readable interpretation at general retail); section 4.15 (managing multiple data carriers).
  • GS1 UK, Where should the QR code go on retail packaging? (gs1uk.org, last reviewed January 2026).
  • GS1 UK, How big should a QR code powered by GS1 be? (gs1uk.org, last reviewed February 2025).
  • GS1 UK, Get your barcodes and QR codes reviewed (gs1uk.org, barcode and QR code checking service).
  • GS1, GS1 Barcode Syntax Resource (gs1.org).
  • ISO/IEC 15415:2024, Bar code symbol print quality test specification: two-dimensional symbols.
  • ISO/IEC 16022:2024 (Data Matrix) and ISO/IEC 18004:2024 (QR Code) symbology specifications.
Written by
Alex Smith
Barcode & labelling expert at Kelgray UK.
Sunrise 2027 - A Guide to the 2D Barcode Transition for UK Operations Teams Barcode
20th August 2026    Alex Smith

Sunrise 2027 – A Guide to the 2D Barcode Transition for UK Operations Teams

By the end of 2027, retailers around the world have committed to making their point‑of‑sale systems…

Read More →
Scroll to Top