Adding a GS1 QR code next to your barcode: size, placement and print quality

How big a GS1 QR code or DataMatrix must be, how close to the EAN-13 it sits, quiet zones, thermal printer dots and the grade to ask for in 2027.

A QR code looks forgiving. You can scan a crumpled one on a restaurant table with a cheap phone. So when a brand adds a GS1 QR code next to its EAN-13, the designer often shrinks it into whatever space is left on the panel.

That is where the trouble starts.

A checkout scanner judges the code by GS1's rules, and those rules are stricter than any phone. We print barcode labels in our group, and this is the first thing I would check on any proof with a 2D code.

In numbers, the answer is this. For a pack scanned at a retail checkout, GS1 asks for modules (the small squares of the code) between 0.396 mm and 0.990 mm wide, with 0.495 mm as the target. A QR Code needs a clear margin of 4 modules on every side. It should sit within 50 mm of the centre of the linear barcode. And it should verify at grade 1.5 or better, written by GS1 as 1.5/12/660.

All these figures come from Table 6-4 of GS1's 2D Barcodes at Retail Point-of-Sale Implementation Guideline (Release 1.1.0, ratified December 2025). The guideline labels that table as the 2D addendum to symbol specification table 1 of the GS1 General Specifications.

Checked against official sources on 28 October 2026.

If you are still deciding whether you need a 2D code at all, read Sunrise 2027: do you have to put a QR code on your product? first. This lesson is about printing one correctly.

QR Code or GS1 DataMatrix?

GS1 allows both at the checkout. Table 4-1 of the guideline compares them, and the choice depends on who must scan the code.

QR Code with GS1 Digital Link GS1 DataMatrix
What sits inside A web address built around your GTIN Your GTIN and other data as GS1 element strings
Strength listed in Table 4-1 Scannable with a phone's default camera app The smallest of the 2D codes allowed at checkout
Regulated healthcare Not applicable Globally approved
Quiet zone 4 modules on all four sides 1 module on all four sides

My rule of the trade is simple. If you want shoppers to scan the code, choose the QR Code with GS1 Digital Link. If the pack is tiny and only the supply chain will scan it, the DataMatrix saves space. For medicines, the healthcare rules decide, and they point to DataMatrix.

What goes inside the code

At the minimum, the code carries your GTIN with its Application Identifier (01). For a QR Code, that GTIN sits inside a web address. GS1's own example in the guideline is https://example.com/01/09524810000339/10/YA12AB?17=271231. The 01 part is the GTIN, 10 is the batch and 17 is the expiry date.

Four choices decide how big the code becomes.

  1. The domain. GS1 says a shorter domain name gives a more efficiently sized code. A long company name with a long subdomain adds modules to every pack you print. I would rather register a short domain just for packs than live with a big code.
  2. The form of the address. The table note says the GS1 Digital Link address shall use the uncompressed form.
  3. Special characters. Characters that need percent-encoding take extra space inside a QR Code, so keep batch numbers to capital letters and digits.
  4. What you leave out. The guideline advises that data the web page can look up does not need to sit inside the code.

There is one more decision, and it changes who prints the code. A code with only the GTIN is the same on every pack, so it can go into the pack artwork and be printed with everything else. A code with batch or expiry changes every run. The guideline notes that pre-printing may not be possible then, and the code is printed on demand at the line, often on a label.

How big should the code be?

Table 6-4 sets the module size, which GS1 calls the X-dimension, for 2D codes scanned at a retail checkout.

Code Minimum Target Maximum Quiet zone Minimum quality
GS1 DataMatrix 0.396 mm 0.495 mm 0.990 mm 1 module 1.5/12/660
QR Code with GS1 Digital Link 0.396 mm 0.495 mm 0.990 mm 4 modules 1.5/12/660

These are 1.5 times the sizes allowed for an EAN-13. The guideline gives that ratio directly.

Now let us turn modules into millimetres, because that is what your designer needs. A QR Code is a square grid. DENSO WAVE, the company that invented it, explains on its version page that the smallest version has 21 modules a side, and each next version adds 4. The amount of data decides the version.

So count the modules across one side of your proof. Say it shows 29. Add 4 modules of quiet zone on each side and you need 37 modules of clear space. At the 0.495 mm target, that is about 18.3 mm square. At the 0.396 mm minimum, it is about 14.7 mm square.

A longer web address pushes the code to a bigger version. That is why the domain choice above matters on a small pack.

Do this sum on your own proof. My 29 modules are only an example.

I cannot give you one size that fits every pack, because the module count depends on what you put inside.

Where to place it: the 50 mm rule

Section 4.1.2 of the guideline is clear. When a pack carries both codes, the 2D code needs to be within 50 mm (1.97 inches) of the centre of the linear barcode. That keeps checkout scanning fast, because the scanner sees both codes for the same product in one pass.

A few more placement points from the same guideline.

  1. Put both codes on the same panel. I would accept adjacent panels only when the pack leaves no choice. If they must go on adjacent sides, keep them close enough that a scanner captures both.
  2. Keep folds, seams, graphics and printed text out of the quiet zone. Any human-readable text must also respect it.
  3. Very thin or cylindrical products may not have room for a full square 2D code. Test on the real pack before you commit.
  4. A consumer QR code placed elsewhere on the checkout panel may be captured along with the barcode. Think about where each code sits.

Printing it on a thermal label printer

If you print batch and expiry codes on demand on a thermal label printer, its resolution sets your module size. Appendix 8.1.5 of the guideline names 203, 300 and 600 dpi as the common configurations, and warns that the dpi must be matched to the 2D module size.

The arithmetic is simple. A 203 dpi printhead makes dots about 0.125 mm wide. A 300 dpi head makes dots about 0.085 mm wide. Every module must be a whole number of dots.

Printer Dots per module Module size Inside GS1's 0.396 to 0.990 mm range?
203 dpi 3 0.375 mm No, below the minimum
203 dpi 4 0.500 mm Yes, almost exactly the target
300 dpi 5 0.423 mm Yes
300 dpi 6 0.508 mm Yes

So on a 203 dpi printer, we would set 4 dots per module. On 300 dpi, 5 or 6 dots. If your labels are small and the code must shrink towards the minimum, I would choose the 300 dpi printer. Make the code in your label software at the printer's own dpi, so the software does not stretch it.

The ribbon matters too. The same appendix ranks full wax ribbons as the least durable and suited to short-term indoor use, wax-resin as handling some outdoor exposure, and full resin as the most durable and suited to film. On label stock, it advises against glossy coatings that can distort the code, and notes that polyester is rigid and unsuited to tight curves. Our lesson on direct thermal or thermal transfer explains which method suits which label life.

GS1 writes the minimum as 1.5/12/660. It reads like a code itself, so let us take it apart.

  1. 1.5 is the overall grade on ISO/IEC 15415's scale of 0 to 4. The code must reach at least 1.5.
  2. 12 is the measuring aperture, about 0.30 mm.
  3. 660 is the wavelength of the red light used, in nanometres. That is why red and orange codes tend to fail.

A phone scan does not grade anything.

A verifier does. The guideline calls verification highly recommended, and suggests verifying again after software or hardware updates, because an update can change how the code prints.

It also says something many people miss. A verifier does not check where the code sends the user. So verify the print, and separately open the link on at least two phones.

On colour, keep dark modules on a light background. The guideline warns that colours that are too similar may fail, that a translucent pack needs a background behind the code, and that a shiny film can reflect the scanner's light.

A checklist before you sign off the artwork

I would not approve a proof until every line below is ticked.

  1. The code type is chosen, and your buyer has agreed to it if its manual says anything.
  2. The GTIN inside the 2D code matches the GTIN in the EAN-13.
  3. The module size on the proof is between 0.396 mm and 0.990 mm.
  4. The quiet zone is clear: 4 modules for a QR Code, 1 module for a DataMatrix.
  5. The 2D code is within 50 mm of the centre of the EAN-13, ideally on the same panel.
  6. The thermal printer is set to whole dots per module: 4 at 203 dpi, 5 or 6 at 300 dpi.
  7. A verification report shows 1.5/12/660 or better, on the real label stock.
  8. The link opens the right page on an Android phone and an iPhone, and the page is live before printing.

Labels are made by Jagannath Labels, our group's label company. Whoever prints your codes, including us, ask for the verification report along with the proof. A good scan on the designer's phone is only the first check.

Send us your proof and your printer model through the contact page. We will count the modules with you and tell you what size we would print.

Questions buyers ask

Can I shrink the QR code below 0.396 mm per module if it still scans on my phone?

I would not. A phone camera is very forgiving, and the GS1 minimum is set for checkout scanners. A code below the minimum may scan on your phone today and fail on a buyer's scanner tomorrow.

Does the human-readable text go under the QR code?

GS1 allows text near the code, but the text must stay outside the quiet zone. Keep at least 4 modules of clear space between the code and any text, border or graphic.

Does the verifier check that the link opens the right page?

No. The GS1 guideline says barcode verification does not check where a 2D code sends the user. Test the link separately, on more than one phone, before you print.

Need labels that scan every time?

Tell us the surface, the printer and the code you need. Labels are made by Jagannath Labels, part of the Jagannath Group.

Ask about labels