
Print QR Codes Correctly: DPI, Size, Viewing Distance & Material Tips
Print-ready QR code guidelines: minimum resolution, physical size vs. scan distance, paper and finish choices, and proofing steps so codes scan from posters, packaging, and business cards.
Screen-optimized QR codes do not always survive the transition to print. Resolution, physical dimensions, ink spread, glare, and curvature all affect decode performance. Follow these guidelines when preparing QR codes for brochures, labels, billboards, and merchandise.
On this page
Resolution, file format, and DPI
Export vector (SVG/PDF) or high-resolution raster (PNG) at sufficient pixels per inch for your print vendor. For small items such as business cards, 300 DPI is a common baseline so module edges stay crisp after printing.
Avoid upscaling a low-resolution bitmap: blurred edges make it harder for cameras to distinguish modules. Regenerate the QR at the final dimensions from your QR code generator when possible.
Physical size and viewing distance
The QR code must subtend enough visual angle at the distance users will scan. A code on a billboard needs a far larger physical size than one on a table tent. When in doubt, increase size and test from the farthest expected position.
Minimum size depends on data length, error correction, and print quality; conservative sizing reduces risk.
Paper, labels, and surface finish
Matte and semi-gloss finishes often produce fewer hot spots under retail lighting than mirror-gloss alone. On flexible packaging, anticipate distortion and avoid placing codes across seams or heavy creases.
Curved surfaces (bottles, cans) may require a larger code or flatter placement so the full pattern stays in focus for the camera.
Proofing before mass production
Print a one-off proof at production size and scan with multiple phones. Check indoor and outdoor lighting. If failure rates are noticeable in testing, adjust size, contrast, or placement before committing to a large run.
Treat the QR code as part of quality assurance for packaging and campaigns—incorrect or unscannable codes create support load and lost conversions.