·4 min read
How to Make QR Codes That Actually Scan (Every Time)
The design rules that separate a QR code that works in dim light from one that fails at the checkout counter.
QR codes came back for good. Menus, payments, event check-ins, business cards — they're everywhere. But a badly made one is worse than none at all. Here's how to make yours bulletproof.
Contrast is non-negotiable Dark modules on a light background. That's the default for a reason. Reverse contrast (light on dark) fails on many scanners. If you must brand it, keep at least a **4:1 luminance ratio** and test on a cheap Android phone in dim light.
Respect the quiet zone QR specs require a **4-module wide margin** of empty space around the code. Designers hate it and shrink it — scanners then fail. Leave the margin.
Size for scanning distance Rule of thumb: the code should be at least **1/10 the scanning distance**. A poster viewed from 3 meters needs a 30 cm code. A business card at 30 cm needs 3 cm.
Add error correction QR codes have four levels of error correction: L (7%), M (15%), Q (25%), H (30%). If you plan to put a logo in the middle, use **H**. For print that might scuff, use at least **Q**.
Generate one now [QR Code Generator](/tools/qr-code-generator) has size, color and error-correction controls built in. Export as PNG for screens, SVG for print.
Test before you print 10,000 - Scan from your target distance. - Scan in low light. - Scan on an old phone (a five-year-old Android is a good stress test). - Have a colleague scan it who's never seen it before.
If any of those fail, fix before you commit ink to paper.
