QR code best practices
Updated September 2026
Most QR codes that fail were avoidable. These twelve rules cover the design, the placement and the destination. Follow them and your code scans first time, on the first phone, in bad light.
1. Keep the contrast high
Dark modules on a light background, aiming for a contrast ratio around 7:1. Pure black on white always works. A pale colour on white, or a light-on-dark inverted code, is the single most common reason a code won't scan.
2. Size it for the distance
Minimum width is the scanning distance divided by ten — 3 cm for a code read from 30 cm, 30 cm for one read from 3 metres. There's no penalty for going bigger. See the full size chart.
3. Protect the quiet zone
Leave a plain margin of at least four modules all the way around the code. Don't let text, a photo, a coloured panel or the edge of a label touch it — the scanner needs that clear space to lock on.
4. Add a call to action
A bare code gets ignored. A code with a line of text next to it — "Scan for the menu", "Scan to pay", "Scan to leave a review" — gets scanned far more often, because people act when they know where it goes.
5. Point at a mobile-friendly page
Whoever scans is on a phone. The destination should load fast, read without pinch-zooming, and not open with a pop-up or a cookie wall. A slow or broken page wastes the scan.
6. Keep the encoded data short
A shorter URL makes a less dense code, which prints smaller and scans faster. Trim tracking parameters you don't need, drop "https://www." where the site allows it, or use a short link.
7. Use a small logo, or none
A centre logo should be under a quarter of the code's width, with a small clear ring around it. Error correction is raised to High automatically when you add one, but it can only rebuild so much.
8. Choose static unless you truly need dynamic
A static code is free, never expires, and has no dependency on anyone's server. Only go dynamic if you need to change the destination after printing or want a built-in analytics dashboard.
9. Use vector for print
Download the SVG for anything printed — it stays sharp from a business card to a billboard. Use PNG only for screens, email signatures and social posts. More detail in the printing guide.
10. Test on real material
Before the print run, scan a proof at final size, on the actual paper or sticker, from the real distance, with more than one phone. This catches nearly every scanning problem before it's expensive.
11. Place it where a phone can reach
Not behind glass that throws glare, not wrapped tight around a bottle, not above head height on a poster, not on a vehicle people can't safely walk up to. If a phone can't get square-on to it at a comfortable distance, move it.
12. Give people a fallback
Print the URL, or a short instruction, near the code. A cracked camera lens or an old phone shouldn't be a dead end — and a visible URL also builds trust that the code is legitimate.