# QR codes on packaging > Using QR codes on product packaging: substrate and print constraints, error correction for industrial conditions, traceability and GS1 Digital Link. Source: https://qr-code-build.com/qr-code-for-packaging/ Last reviewed: 2026-08-24 Publisher: QR Code Builder ## Summary 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](/text-qr-code-generator/) 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:3 ``` Retail 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/A2609 ``` Retailers 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 questions ### What error correction level should packaging QR codes use? Level Q for most transit and retail packaging, and level H where labels get abraded, taped over or exposed to moisture. ### Can a QR code go on a curved bottle? On the flat face of the label, yes. Tight curves distort the pattern beyond what decoders tolerate. ### Should packaging codes contain a link or plain text? Plain text if the code must be read in a warehouse with no signal. A link if the code is for consumers. GS1 Digital Link does both. ### How do I stop ink spread breaking the code? Ask the printer for their dot gain figure, size the code up accordingly, and always proof on the real substrate rather than on paper. --- Licence: this page may be quoted with attribution to QR Code Builder (https://qr-code-build.com/qr-code-for-packaging/).