Why printed QR codes fail to scan
2 min read
Somewhere right now a customer is pointing a phone at a table card, waiting, giving up. The code looked fine in the design file. Here is what actually went wrong, in the order it usually does.
1. Printed too small
The champion, by a wide margin. A code that scanned beautifully at 8 cm on a laptop screen gets printed at 1.5 cm in the corner of a flyer. Cameras need physical size: 2 cm is the floor for in-hand scanning, and codes meant to be scanned from standing distance need to scale with it, roughly a tenth of the scanning distance. A poster code scanned from two meters wants to be 20 cm wide.
2. Upscaled from a small PNG
The design file had a 200 pixel PNG; the poster needed 20 cm. The blur that results reads fine to human eyes and turns module edges to mush for the scanner. The fix is vector: export SVG and it prints sharp at any size. The link generator provides both formats for exactly this split.
3. Style over contrast
Brand-colored modules, gradients, codes reversed to white-on-dark, a logo punched into the middle. Every one of these spends scan reliability to buy aesthetics. Dark modules on a white background is not a design failure; it is the spec working. Put the brand next to the code, not inside it.
4. Hostile placement
Laminated glossy menus under restaurant spotlights, codes wrapped around bottle curves, table cards behind the napkin holder. Glare, curvature, and occlusion each defeat perfectly good codes. Flat, matte, unobstructed, at a height a phone naturally reaches.
5. The right code with the wrong contents
The rarest and the most expensive: a digit transposed in the phone number, discovered after five hundred prints. No design fixes this. The insurance is procedural and takes ten seconds: scan the final artwork with a real phone and confirm the chat that opens is yours, every print run, no exceptions. The full pre-print checklist lives in the QR code guide.