QR codes on product packaging: what survives the shelf
Packaging is printed once and lives for years. How to choose a destination that outlives the print run, and handle curves, foil and absorbent board.
Packaging is the least forgiving place to put a QR code. You print it once, in volume, and it lives on shelves for years. Every decision is expensive to reverse.
The decision that matters most: where it points
A print run of packaging can outlive several website redesigns. So the destination has to be something that survives.
Do this: point the code at a short, permanent URL on your own domain — yourbrand.com/p/1234 — and control what that URL serves. Today it shows product info. In two years, a new page. In five, something else entirely. The printed code never changes.
Do not do this: use a dynamic code from a QR provider. Packaging on a shelf in 2029 will still be scanning through a company whose pricing, terms and existence you cannot predict. If they shut down or move your code behind a higher tier, you have stock in the world pointing nowhere.
Also do not: point at a campaign page with a date in the URL, a social media profile that can be suspended, or a file host with expiring links.
The rule: the code should outlive the campaign, the agency, and the vendor.
Material changes the size
Base rule: a code read in the hand needs 2 cm minimum. Then adjust for what you are printing on.
| Material | Adjustment | Why |
|---|---|---|
| --- | --- | --- |
| Coated carton, glossy label | none | Ink sits on the surface |
| Uncoated / kraft board | +10–15% | Ink spreads, closing the gaps between modules |
| Corrugated cardboard | +20% | Rough surface, coarse print |
| Curved: bottle, can, tube | +25–35% | The grid distorts toward the edges |
| Foil or metallic | +15%, and prefer matte | Reflections wash out the pattern |
| Flexible film, pouches | +15% | Creasing and stretching in transit |
Ink spread on absorbent board is the one that catches people. On kraft, dark modules bleed outward until the white gaps close, and a code that measured fine in the proof fails in production.
Curves, specifically
For bottles, cans and tubes:
- Keep the code within about a third of the circumference
- Position it on the flattest available area, not across the steepest curve
- Enlarge — the effective width is less than the printed width once it wraps
- Orient it so the modules run along the curve rather than across it where possible
Beyond a third of the circumference, no amount of enlargement helps: the scanner cannot reconstruct the grid geometry.
Where to place it
Good: back or side panel, away from folds and seams; in a clear area with the quiet zone respected; near the barcode, where consumers already expect scannable things.
Bad: across a fold or crease — the code will crack there; in the area a shelf label covers; on the base, where handling wears it off; under a shrink-wrap seam.
That last one is a real production trap: a code that is perfect in the artwork ends up under an opaque seal.
Give people a reason
A bare code on packaging gets ignored more than anywhere else, because shoppers assume it is a stock-control barcode.
- ❌ A silent square
- ✅ "Scan for recycling info"
- ✅ "Scan for the full ingredient list"
- ✅ "Scan to see where this was made"
Naming the payoff is what converts. And print the URL in text beside it — a fallback, and after the wave of QR scam coverage, a trust signal.
Print run checklist
The step that saves reprints:
- Get a physical proof on the actual substrate, at final size. Not a digital proof
- Scan it with three phones, one of them at least three years old
- Test under shop lighting, including fluorescent, and at an angle
- If curved, test on the actual filled container, not a flat sheet
- Crease it where the pack will crease, then scan again
- Only then approve the run
Step 5 is the one nobody does, and folds are where packaging codes die.
Static is not a limitation
It bears repeating because packaging is where the "you need dynamic" sales pitch is strongest.
You need editability, which is not the same as needing a dynamic QR provider. A redirect rule on your own domain gives you the same flexibility, permanently, for free. On most hosting platforms it is a few lines of configuration.
What you give up is the provider's analytics dashboard — and your own server logs contain the same data.
Regulatory notes worth checking
Some sectors now expect or mandate scannable information:
- EU packaging and recycling labelling increasingly points to digital sources
- Food in several markets allows extended ingredient and origin information via a code
- Cosmetics and pharma have batch and traceability requirements in some jurisdictions
If you are in a regulated category, confirm the requirements before finalising artwork — they sometimes dictate minimum sizes and what the destination must contain.
In short
- Point at a short URL on your own domain, and control the redirect
- 2 cm minimum, +10 to 35% depending on material and curvature
- Keep off folds, seams, and anywhere a shelf label lands
- Curves: under a third of the circumference
- Give people a reason to scan, and print the URL as text
- Get a physical proof, crease it, and test on an old phone before the run
Create a packaging QR code — static, free, with vector SVG and EPS for print production.