QR QR Studio

troubleshooting

QR code not scanning? Find the cause in five checks

Published 7 September 2026 · 3 min read

Work down this list. Each check rules something out, and most problems are found by the third one.

Check 1: does the artwork decode?

Take the original file, or a straight-on photo of the printed code, and drop it into the decoder.

  • It decodes and the text is right. The code is sound. Skip to check 4.
  • It decodes but the text is wrong or truncated. The generator was given bad input. Fix the content and regenerate.
  • It does not decode. Continue to check 2.

Check 2: is it big enough and sharp enough?

Modules under 0.5 mm smear on ordinary printers. A code scanned from further than ten times its width is too small for the camera. Upscaled PNGs are blurry at any size.

Do this

A 4 cm code with a short link, printed from a vector file.

Not this

A 2 cm code holding a long tracking URL, stretched from a 200 px screenshot.

Fix: shorten the content, print larger, export vector. Details in too small or blurry.

Check 3: contrast and polarity

Grey on white, orange on white, dark blue on black, or white modules on a dark background all cause failures. Put the colours into the contrast checker; you need 4.5 to 1 and dark modules on a light background.

Do this

Black or navy modules on white.

Not this

Brand orange modules, or white modules on the brand's dark background.

Check 4: the quiet zone

Four modules of clear space around the code. A border, text or a photo touching the code hides the finder patterns. The scannability tester measures the margin for you.

A logo covering more than a quarter of the code, or touching a corner square, exceeds the error-correction budget. Shrink it, centre it, set level H. The logo safe-area tool shows the limit.

Check 6: damage and wear

Scratches, fading, a fold through the middle, a torn corner. A scratched data area at level H survives; a damaged finder pattern does not survive at any level. Reprint, and consider laminate.

If the code decodes but the phone shows an error page, the destination is the problem. A dynamic code whose subscription ended, a page that moved, a shortener that closed. See expired or dead QR code.

Check 8: the phone

iPhone: Camera must be in Photo mode, “Scan QR Codes” must be on in Settings, and the phone must not be too close to focus. Android: the camera app or Google Lens, or a scanner app. See iPhone camera not scanning.

Check 9: the screen

Scanning a code from another screen adds glare and moiré. Turn the brightness up, hold the phone further back, and tilt slightly. Scanning a code on the same phone needs a screenshot and a decoder, not the camera.

In practice

Photograph the failing code straight on, in good light, and run the photo through the decoder. If the photo decodes, the code is fine and the problem is the scanning conditions. If it does not, the code or the print is at fault. This one test halves the search.

Try it in QR Studio

QR Studio runs the size, contrast, quiet-zone and logo checks before export so most of this list never applies to codes it makes.

Checklist

  • Artwork or photo run through the decoder
  • Module size above 0.5 mm; scan distance under ten times the width
  • Contrast 4.5 to 1 or better, dark on light
  • Quiet zone of four modules intact
  • Logo under 25% and centred, level H
  • Print undamaged, finder patterns intact
  • Link resolves; dynamic code subscription active
  • Phone in the right mode with scanning enabled

Try it yourself

Upload the artwork or a photo. The tester reports decode, quiet zone, small-size, blur, contrast and inversion results in one go.

Run the six-check test

Frequently asked questions

The code scans on my phone but not my customer's.

You are at the edge of readability. Increase size or contrast, or shrink the logo. A better camera hides a marginal code.

It scans but goes to an error page.

The code is fine and the link is dead. If it is a dynamic code the subscription may have ended; if static, the page moved. See the expired code guide.

It scanned last month and not now.

Either the print has faded or been damaged, or the link behind a dynamic code has stopped. Decode the printed code with a photo to tell which.

Related reading

Make yours in QR Studio

Unlimited static codes free, no ads, no watermark. AI design, dynamic codes and print-ready export when you need them.

Download on the App Store