GENERATEQR

QR code not scanning? Seven causes, seven fixes.

Failed scans are rarely mysterious. Work down this list in order — it is sorted by how often each cause is the culprit in the wild. (This studio's Scan Safety panel checks all seven live, before you print.)

1 · Not enough contrast

The #1 killer. Brand-coloured codes on brand-coloured backgrounds look great and scan never. You need a contrast ratio of at least 4.5:1 between module colour and background — dark charcoal on cream passes; orange on white fails. Fix: darken the foreground; when in doubt, near-black on near-white.

2 · Inverted colours

White code on a dark background reads as "arty" to designers and as "nothing" to many scanners — the spec expects dark modules on a light field. Fix: if the design demands a dark surface, put the code inside a light rounded plate on that surface.

3 · Cropped quiet zone

The 4-module clear border around the code is how scanners find its edges. Layouts that butt text, borders or photos against the code break edge detection. Fix: restore the margin — it must be the background colour, all four sides.

4 · Logo too big

Error correction can rebuild at most 30% of the code (level H) — and print wear needs a share of that budget too. A logo covering a third of the code leaves nothing. Fix: logo under ~20% of the area, error correction H, opaque backing plate. Never cover the three corner squares or the smaller alignment square.

5 · Too dense for its size

A 300-character URL in a 2 cm code gives modules a laser printer cannot form. Fix: shorten the content (shorter URL, leaner vCard) or print bigger — the size guide has the numbers.

6 · Too small for the distance

People will not walk across a room to scan a poster. The 10:1 rule: code width ≥ scanning distance ÷ 10. A code read from 3 m must be ≥ 30 cm wide. Fix: print bigger or move the code to where people already stand.

7 · The code is fine — the service behind it is dead

If the code scans but lands on an error or "upgrade your plan" page, you have a dynamic code whose redirect was switched off. See Do QR codes expire? for the full story. Fix: reprint with a static code that has no middleman.

Bonus: surface problems

  • Glossy lamination + downlights = reflections that blind the camera. Matte wins.
  • Curved surfaces (bottles, sleeves) distort the grid — keep codes small and flat-ish.
  • Fabric stretch warps modules; print codes on stable patches.

Audit your code against all seven — live, before the print run.

Open the studio