Use case · Packaging
QR codes on packaging
Packaging is the harshest environment a printed code faces: curved surfaces, absorbent board, flexographic tolerances and a product that gets dragged across a warehouse. Design for that from the start.
- Free
- No sign-up
- No expiry
- Commercial use
QR codes on packaging carry product information, batch traceability, authentication and links to instructions. Print constraints are tighter than paper: use error correction Q or H, allow for ink spread on board and film, keep codes off tight curves, and test on the actual substrate before a production run.
What each material does to a code
| Substrate | Main issue | Minimum module |
|---|---|---|
| Coated carton | Minimal — best case | 0.4 mm |
| Uncoated kraft | Heavy ink spread | 0.6 mm |
| Corrugated board | Flute lines distort modules | 0.8 mm |
| Flexible film | Stretch and print registration drift | 0.6 mm |
| Shrink sleeve | Distortion around the curve | 0.8 mm, on the flat panel only |
| Direct-to-metal | Reflection and low contrast | 0.7 mm, matte finish |
| Thermal label | 203 dpi with dot spread | 0.5 mm |
Ink spread — dot gain — is the recurring problem. Dark modules widen, light gaps narrow, and a code that measured correctly in the file becomes marginal on the press. Ask the printer for their dot gain figure and size up accordingly, or specify a slightly reduced dark module size in the artwork.
Where the code goes on the pack
- Flat panels only. Decoders tolerate gentle curvature but fail on tight radii. On a bottle, that means the label's flat face, not the shoulder.
- Away from seams and folds. A code crossing a carton crease is a code that fails once the pack is glued.
- Clear of the shrink zone. Sleeve distortion at the taper will destroy the pattern.
- Not under a window or a gloss varnish. Both reflect.
- Consistent position across the range. Warehouse staff scanning hundreds of units per hour should not have to search for the code.
- Away from the barcode. Two codes side by side confuse both handheld scanners and phone cameras.
Batch data, and the GS1 direction of travel
For traceability, encode the identifiers directly as plain text so the label works in a warehouse with no signal, or encode a link that carries the batch in the path. A common compact format:
SKU:4471-B|LOT:A2609|MFG:2026-08-14|LINE:3Retail is moving towards GS1 Digital Link — a QR code containing a structured URL that carries the GTIN and batch data in the path, readable both as a web link by a shopper's phone and as product data by a till scanner. The format looks like:
https://example.com/01/09506000134376/10/A2609Retailers and regulators are steadily moving towards this for the codes that will eventually replace the linear barcode at checkout. If you are designing packaging now with a multi-year print run, it is worth checking whether your sector has a timetable.
Error correction as an engineering decision
On packaging, error correction is not a stylistic setting. Level Q recovers a quarter of a damaged code, which is what lets a scuffed, taped, partially wet label still scan on arrival.
- Level M for retail cartons that go from box to shelf undamaged.
- Level Q for transit packaging, outer cases and anything handled repeatedly.
- Level H for cold chain, industrial parts and any label likely to be abraded, taped over or partially obscured.
- Higher levels mean more modules, so plan the physical size around the level rather than choosing the level after the layout is locked.
Frequently asked
What error correction level should packaging QR codes use?
Can a QR code go on a curved bottle?
Should packaging codes contain a link or plain text?
How do I stop ink spread breaking the code?
Last reviewed 24 August 2026 · Checked by the QR Code Builder team