Skip to content
MyQRGenerator

Why QR Codes Fail to Scan (and How to Fix Them)

Twelve common causes, how to spot each one and how to fix it.

By MyQRGenerator team Updated 8 min read

When a QR code won't scan, the cause is almost always one of a dozen things. Work through this list from the top — the first few cover the majority of failures.

1. Not enough contrast

Scanners convert the image to black and white. Light grey, yellow, pastel or mid-tone codes on white can all fall on the wrong side of that threshold. Fix: aim for a contrast ratio of 4:1 or higher. MyQRGenerator calculates it and warns below that.

2. Inverted colours

The standard specifies dark modules on a light background. Many modern phones read light-on-dark codes, but plenty of older devices and scanner apps don't. Fix: keep the code darker than its background, or accept that some people won't be able to scan it.

3. Missing quiet zone

The blank margin around the code tells the scanner where it ends. Text, borders or the edge of a sticker placed too close confuse it. Fix: leave at least four modules of clear space on every side.

4. Printed too small

A rule of thumb: the code's width should be at least one-tenth of the scanning distance. A code scanned from one metre should be about 10 cm wide. See the print size guide.

5. Too much data

Long URLs and full vCards produce dense codes with tiny modules. Fix: shorten the content, remove unnecessary parameters, or link to a page instead of encoding text directly. Lower error correction (M instead of H) also reduces density when you don't have a logo.

6. Logo too big or in the wrong place

Logos consume error-correction capacity. Over about 25% of the width — or anywhere near the corner squares — and codes start failing. Fix: shrink the logo, raise error correction to H, add padding. Read adding a logo safely.

7. Over-styled finder patterns

The three large corner squares are how scanners locate and orient the code. Hiding them, recolouring them to low contrast or replacing them with decorative shapes breaks detection. Fix: keep them solid and high-contrast; rounded or circular variants are fine when tested.

8. Low-quality print or wrong format

Upscaled low-resolution PNGs become blurry, and JPEG compression adds artefacts at module edges. Fix: give printers SVG or PDF, or a PNG of at least 1024 px.

9. Glossy, curved or textured surfaces

Reflections on laminated menus, curvature on bottles and textured paper all distort modules. Fix: use matte finishes, print larger on curved surfaces, and choose error correction Q or H.

10. Damage and wear

Outdoor signs fade; stickers get scratched. Higher error correction buys tolerance. Replace weathered codes promptly.

11. Wrong data format

Sometimes the code scans but nothing useful happens: a Wi-Fi code with an unescaped semicolon in the password, a phone number without the country code, a URL without https:// that the phone treats as text. Fix: use a generator with a dedicated form for each type, and check the “Encoded content” panel.

12. The destination is broken

A static code can be perfect while the page it links to is gone, slow or not mobile-friendly. Fix: link to pages you control, and check them periodically.

A quick pre-print checklist

  • Scan verified in the generator ✔
  • Contrast ≥ 4:1, dark on light ✔
  • Quiet zone of 4 modules ✔
  • Size ≥ 1/10 of scanning distance ✔
  • Tested on iPhone and Android, printed, at real distance ✔