Skip to content

Use cases

Putting a QR code on product packaging

Where the QR code goes relative to the retail barcode, the minimum module size for flexo versus offset, curved surfaces, and what belongs behind the code.

by Kyllian 8 min read

The pack came back from press with a QR code that scans perfectly on the flat proof and fails on the finished carton, and the retailer’s cashier is now scanning it by accident instead of the EAN-13. Both problems were made in the artwork, months before anything was printed.

Keep it away from the till barcode

The retail barcode and the QR code do two unrelated jobs, and the person at the till does not care which is which. Their scanner is pointed roughly, at speed, by someone who is not looking.

  • Different panel, if you can. The EAN-13 goes where the retailer expects it — usually the lower right of the back or base panel. Put the QR code on the front or a side panel, where a shopper will look for it and a cashier will not.
  • If they must share a panel, separate them properly. At least 10 mm of clear space beyond both quiet zones, and never in a row that looks like a scanning strip. Two codes side by side produce double reads and mis-scans, and a retailer will raise it as a compliance issue.
  • Never let the QR code encode the GTIN as bare digits. A handheld imager that reads both symbologies will happily return 5012345678900 from your QR code and the till will price it as a product. If the code carries the GTIN, carry it inside a URL.
  • On a shipping case, the same applies to the ITF-14. Its bearer bar and wide bars are unmistakable to a person but not to a scanner aimed between the two.

Module size by print process

The print size guide puts the practical floor at 0.4 mm per module for offset and digital, and 0.6 mm for thermal and rough surfaces. Packaging stretches that range in both directions, and the process is usually decided before the artwork is:

ProcessPractical minimum moduleWhy
Offset, gravure or digital on coated board0.40 mmClean dot, tight registration
Flexo on film or coated paper0.50 mmMore ink spread than offset
Flexo direct on corrugated0.75–1.00 mmRough fluted surface, heavy dot gain
Thermal transfer, 203 dpi0.625 mmA module must be a whole number of 0.125 mm dots — five of them
Inkjet or laser coding on the line0.60 mmVariable data, less control over the mark

Multiply by the module count to get the symbol width. A version 3 code — what https://shop.example/p/12345 encodes to at level M — is 29 modules plus an eight-module quiet zone, so 37 modules across:

  • 0.40 mm → 14.8 mm
  • 0.50 mm → 18.5 mm
  • 0.625 mm → 23.1 mm
  • 0.75 mm → 27.8 mm

That is the number to hand the designer, and it is why shortening the URL is a packaging decision. Every UTM parameter bolted onto the destination pushes the version up and the symbol wider on a panel that has no spare width. Tag the destination with a redirect instead — the UTM article explains how to keep the attribution without paying for it in modules.

Substrate and finish

Corrugated. Direct print on brown board is the hardest case: dark base colour, rough surface, heavy dot gain. Print onto a white flexo panel if you can, keep the module large, and never put the code across a flute crease.

Film and flexible packaging. Film moves under tension, and a code on a gusset or a section that will be folded is a code printed on a fold. Check the die line, not the flat artwork.

Foil and metallised board. Highly reflective, and a camera’s own light comes straight back at it. The code needs a matte white patch underneath.

Varnish and lamination. Matte beats gloss every time. A spot gloss varnish over a QR code is a self-inflicted wound: the specular highlight blows out part of the symbol at exactly the angle a person naturally holds a phone. If the whole pack has gloss, ask for a matte knock-out over the code area.

Curves, sleeves and distortion

A QR code is only decodable while the modules stay on a grid.

Cylinders. On a can, bottle or tube, keep the code narrow relative to the diameter so the wrap-around is small — a rule of thumb is to keep the symbol inside about a quarter of the circumference. Raise error correction to Q, but understand that this raises the module count too, so size the code for the higher version rather than squeezing it.

Shrink sleeves. These distort unevenly wherever the container is shaped, and a square printed flat comes off the tunnel as a curved parallelogram. Put the code on the most cylindrical section, and have the sleeve supplier apply their distortion map to the code as they do to the type. Do not scale it manually to “look right” flat.

Tapered pots and shaped bottles. Treat the code as a rigid object: it needs a flat or near-flat landing area of its own, even if that means it sits in a slightly odd place on the design.

The quiet zone against a busy design

Four modules of clear margin on every side. On packaging this is the rule that gets broken first, because the code is dropped into a design that already fills the panel.

Two things count as breaking it. Cropping the margin so the code sits flush against a coloured block is the obvious one. The subtler one is setting the code on a background that is merely light-ish — a pale texture, a watercolour wash, a photograph of pastry. A background that varies in brightness across the symbol denies the decoder the clean boundary it needs.

The fix is a solid light panel behind the code, measured from the edge of the symbol outwards. If the design cannot afford the panel, shrink the code and keep the margin: a smaller code with a correct quiet zone beats a larger one without.

What goes behind the code

Packaging QR codes fail commercially far more often than they fail technically, and they fail by landing somewhere useless.

Worth encoding: full ingredient and allergen detail that will not fit on the pack; provenance and batch information; assembly or care instructions with video; a re-order or subscribe link; recycling and disposal guidance for the specific components; a registration or warranty flow.

Not worth encoding: a link to your home page, a link to a social profile, or — the most common mistake — a PDF. A PDF on a phone means a download, a viewer, pinch-zoom on body text, no responsive layout and nothing an assistive technology can read well. The same argument, worked through for a dining room, is in the QR menu article, and it applies identically to a carton. Serve a real, mobile-first page.

Whatever is behind the code, it must outlive the product on shelf. A static QR code encodes your URL literally and never expires, so the failure mode is not the code, it is your own URL structure changing. Point it at a path you are willing to keep alive for years, and own the redirect behind it rather than renting one from a third party that can disappear.

The interesting development is that the marketing code and the identification code are converging. A GS1 Digital Link is an ordinary HTTPS URL whose path carries the identifiers a barcode would:

https://id.example/01/09501101020917
https://id.example/01/09501101020917/10/A1B2C

A phone treats that as a link and opens the page. A GS1-aware scanner reads the same symbol and extracts GTIN 09501101020917 and batch A1B2C as structured data. One symbol, two audiences. GS1’s 2D programme — widely referred to by its 2027 target date — is pushing retail point-of-sale scanners towards accepting 2D symbols alongside the linear ones, at which point a pack could in principle carry one code instead of two.

Today it cannot. Retail tills still expect the linear symbol, so the EAN-13 stays and the QR code sits beside it. But if you are designing packaging with a multi-year life, structuring the destination URL as a Digital Link now costs nothing and means the code is already the right shape when your retailers are ready. The GS1 standards site has the current URI syntax.

Note the practical cost: a Digital Link URL is longer than a short vanity link. https://id.example/01/09501101020917 is a 29-module version 3 symbol at level M, and adding a batch AI keeps it at 29. Add a serial number as well and it goes to version 4 — 33 modules, 41 across with the quiet zone, which at a 0.5 mm flexo module is 20.5 mm rather than 18.5 mm. Budget the width before you commit to the format.

Surviving the supply chain

The code has to work at the end of the journey, not on the press sheet. Cartons are stacked, scuffed, shrink-wrapped, chilled, condensated and handled by forklift. Before the plates are cut:

  • Print a proof at final size, on final substrate, and put it through the full testing procedure — three phones, real lighting, angle sweeps.
  • Scuff the proof deliberately with a fingernail and scan again. That is your error correction margin, measured rather than assumed.
  • Check the code on a pack that has been chilled and brought out to room temperature; condensation on film is a real failure mode in retail.
  • Confirm the code is not on a panel that gets a price gun label, a promotional flash or a shelf-ready tear line.

Generate the codes for those proofs in the browser, and the linear symbols they sit beside on the barcode generator.

Frequently asked

Can a QR code replace the EAN-13 barcode on a product?
Not today. Retail tills are configured to read the linear symbol, and a great many will not accept a 2D code at all. GS1's 2D programme is moving the industry towards point-of-sale scanners that accept both, but until your retailers confirm they are ready, the EAN-13 stays and the QR code is an addition beside it.
How far apart should the QR code and the retail barcode be on a pack?
Far enough that a scanner aimed at one cannot see the other — a different panel is best, and failing that at least 10 mm of clear space plus both quiet zones. Cashiers scan by pointing, and two codes side by side produce mis-scans, double beeps and till queues, which is how a design gets pulled from shelf.
What is the minimum module size for a QR code printed flexo on corrugated?
Around 0.75 to 1.0 mm per module, against roughly 0.40 mm for offset or digital on coated board. Flexo on brown fluted board spreads ink and the surface is rough, so light modules close up. That difference roughly doubles the finished symbol width for the same payload, which is a layout decision, not a print one.
Does a QR code survive a shrink sleeve?
Only if it is distorted in the artwork to compensate. A sleeve shrinks unevenly around a shaped container, so a square printed flat comes out as a curved parallelogram and decoders lose the module grid. Place the code on the flattest, most cylindrical section of the container and have the sleeve supplier apply their distortion map to it.

Make the code this guide describes

The generator runs in your browser — add a logo, pick colours, tag the link with UTM parameters and download a PNG or SVG. No account, no watermark.

Keep reading

← All guides