OpenQR

Troubleshooting

Why is my QR code not scanning? A complete troubleshooting guide

A QR code that refuses to scan is almost never a mystery once you know what to check. Nearly every failure comes down to one of a handful of causes — the code is too small, too low-contrast, crowded right to the edge, blurry, glare-covered, smothered by a logo, physically damaged, or pointing at a broken link. This guide walks the fault-tree from most to least common so you can find the culprit in minutes, plus a quick checklist you can run before printing.

8 min read · Updated 24 June 2026

Start here: scan it on screen first

Before blaming the print, open the original digital file full-size on a monitor and scan it from there. If it scans cleanly on screen but not in print, the problem is physical — size, resolution, glare or damage. If it fails on screen too, the problem is in the code itself — contrast, an oversized logo, or a dead destination. This one test cuts the search in half.

1. The code is too small

The single most common cause. A QR code has a minimum legible size relative to how far away it is scanned. A reliable rule of thumb is 10:1 — the scan distance should be no more than about ten times the width of the code. A code scanned from one metre away therefore needs to be at least around 10 cm wide. On a poster read from across a room, that means a much larger code than people expect.

More data also makes a denser grid, which needs to be physically larger to stay readable. For exact sizing per medium, see our guide to QR code size for print.

2. No quiet zone

QR codes need a clear margin of empty space around them — the quiet zone — so scanners can tell where the code begins and ends. The standard calls for at least four modules (four “squares” wide) of blank space on every side. Crop the code tight, butt it against text or a border, or place it over a busy background and many scanners simply give up.

The most-missed fix

If your code worked as a file but stopped after being placed into a design, a missing quiet zone is the usual reason. Restore at least four modules of clear margin on all four sides.

3. Poor contrast or inverted colours

Scanners rely on a strong difference between the dark modules and the light background. Light-grey-on-white, pastel-on-pastel, or two similar tones will fail. Keep it high-contrast: dark code on a light background is safest.

Critically, do not invert the colours. A light code on a dark background breaks many scanners, which expect dark modules on light. If you want a dark look, keep the modules dark and the background light, not the reverse.

4. Low resolution or blur

A QR code saved at low resolution, then enlarged for print, turns into soft, fuzzy edges that scanners cannot resolve into clean squares. Export at high resolution, or better, use a vector format that scales without any loss of sharpness. Our PNG vs SVG vs PDF guide explains when to use each — for print, SVG or a high-DPI PNG is the right call.

5. Gloss, glare and reflection

A perfectly good code can be unreadable under a shiny laminate, on a glossy menu, or behind reflective glass, because the camera sees a wash of light instead of the pattern. Where you can, use a matte finish for printed codes. On screens, dim reflections and avoid placing a code where overhead light bounces straight back at the camera.

6. The logo is too big

Adding a logo is fine — QR codes use error correction (levels L, M, Q and H, recovering roughly 7%, 15%, 25% and 30% of the data respectively) so they tolerate some obstruction. But cover too much and you exceed what error correction can repair, and the code dies. Keep a logo small and centred, and use a higher error-correction level (Q or H) when you add one. See adding a logo properly for the safe limits.

Rule of thumb for logos

Keep any logo or overlay under about 30% of the code area, centred, with error correction set to Q or H — then always test-scan before you print.

7. Physical damage

Folds, creases, scratches, ink smudges or a missing corner can push damage past the error-correction threshold. The three large finder patterns in the corners are especially important — if one is obscured, scanners struggle to lock on. Reprint damaged codes rather than trying to salvage them.

Sometimes the code scans perfectly — and then leads nowhere. The destination URL may have a typo, the page may have moved, or, if it was a dynamic code, the redirect behind it may have lapsed. Decode the code and open the raw link in a browser to confirm it actually resolves. (Static codes made with OpenQR encode your link directly and have no redirect to break.)

SymptomLikely causeFix
Fails at distance, works up closeToo smallEnlarge using the 10:1 rule
Worked as a file, fails in a layoutNo quiet zoneAdd 4+ modules of margin
Never locks on, no readLow contrast / invertedDark code on light background
Edges look fuzzyLow resolutionExport high-res or use SVG
Fails under light, fine in shadeGloss / glareUse matte finish, reduce reflection
Stopped after branding addedLogo too bigShrink logo, raise error correction
Was fine, now patchyPhysical damageReprint the code
Scans but goes nowhereBroken / expired linkCheck the URL resolves

Pre-print checklist

  • Code is large enough for the scan distance (10:1 rule).
  • Quiet zone of at least four modules on all sides.
  • High contrast — dark modules on a light background, not inverted.
  • Exported at high resolution or as a vector for print.
  • Any logo is small, centred, with Q or H error correction.
  • Finish is matte where glare is a risk.
  • The destination link has been opened and confirmed working.
  • Test-scanned with at least two different phones before going to print.

If you are on the scanning side rather than the printing side, our guide to scanning a QR code covers the device-end fixes too.

Generate a clean, high-resolution QR codeFree, watermark-free static codes with proper quiet zones — export as SVG or high-DPI PNG.
Usually one of eight reasons: it is too small for the scan distance, missing its quiet-zone margin, low contrast or colour-inverted, low resolution or blurry, covered by glare, smothered by an oversized logo, physically damaged, or pointing at a broken link. Work down the fault-tree to find which.

Related reading