← Troubleshooting

Why Isn't My QR Code Scanning? 7 Common Issues and Fixes

Diagnostics for the most common QR scanning failures, in order of likelihood.

5 min readUpdated

QR not scanning? Walk through this list in order. The first three cover 80% of cases.

1. The QR is too small

The most common cause. A QR printed at 1.5 cm on a flyer fails at typical scan distance.

Fix: measure your printed QR. If smaller than 2 cm, reprint at 2.5-3 cm minimum. Rule of thumb: QR width ≥ scan distance ÷ 10.

2. Insufficient quiet zone

Every QR needs ~4 modules of whitespace around it. If your designer cropped tight to the edges or placed the QR over a busy background, the scanner can't find the code's boundary.

Fix: add white padding around the QR. QRolling exports carry a margin, but the default is 2 modules rather than 4, so raise the Margin slider in the Design step's Color tab before exporting. Past that, the issue usually comes from post-export cropping.

3. Low contrast

Dark gray on light gray, gold on cream, white on light blue — all fail. The QR pattern must be clearly darker than the background.

Fix: revert to black on white, or test contrast with a WCAG checker — aim for ≥ 4:1.

4. Damaged or dirty surface

Outdoor QRs degrade. Sun fades the ink, rain warps the paper, fingerprints on glossy surfaces refract light into the camera.

Fix: codes built here already carry H, the highest of the four levels, so the ~30% recovery is working for you before you do anything. A code that came from another tool may be sitting lower and is worth rebuilding. Beyond that, print it larger, laminate it, and reprint annually for outdoor placement.

5. Logo too large or in the wrong spot

A logo over the finder patterns (the three big squares in the corners) breaks the QR. A logo bigger than ~25% of the area breaks even level-H codes.

Fix: keep the logo centered, occupying max 20% of the area. Codes from here are already at level H, so what there is to change is the logo, not the level. Test with three scanner apps before reprinting.

6. URL or content too long

A QR code that encodes a 500-character URL becomes very dense. At small print sizes, individual modules merge under camera noise.

Fix: use a shorter URL (URL shortener or QRolling's dynamic redirect), or print larger. Dynamic QRolling QRs are always short regardless of destination length.

7. Scanner app issue (rare)

Some old scanner apps have bugs. iOS Camera and Google Lens are the gold standards.

Fix: test with three scanners — iOS Camera, Android Camera (Google Pixel), Google Lens app. If two work and one doesn't, the failing app is the issue, not your code.

When all else fails

Try this debug routine:

  1. Open the QRolling generator with the same content.
  2. Compare the live preview to your printed version.
  3. If the live preview scans but the print doesn't, it's a print-quality issue (size, ink, paper, contrast).
  4. If the live preview also fails, the error correction level is not the problem — every code here is already at H. Reduce the content if it is too long, shorten the URL behind it, and test again.

Still stuck? Email us a photo of the printed code and the original export — [[email protected]](mailto:[email protected]).

Frequently asked

My QR worked yesterday but now doesn't — why?

If it's a dynamic QR, check that the destination URL hasn't expired or returned a 4xx/5xx error. Check your dashboard for scan logs. If static, the printed copy may have been physically damaged or moved into worse lighting.

iOS scans it but Android doesn't — fix?

Most likely a contrast or size issue — Android scanners are slightly less forgiving than iOS Camera. Increase contrast to pure black on white, scale up by 25%, and retest.

Ready to make one?

Build and style your code in the browser. Downloading it takes a free account and no payment.

Create a QR code