Guide No sign-up needed

Why Is My QR Code Not Working?

Your QR code scans perfectly on screen and fails on the poster. Here is the checklist that finds the cause, in the order the causes actually occur.

On this page
  1. The short answer
  2. Work through these in order
  3. Common causes and fixes
  4. Prove it before you print again
  5. Sources

The short answer

Nine times out of ten, a code that works on screen and fails in print has one of four problems: it is too small, the contrast is too low, the quiet zone has been eaten by the design, or the print is blurred. Everything else is rare by comparison.

Work through these in order

1. Is it big enough?

A phone reads a code from roughly ten times its width. A 15 mm code on a poster people stand two metres from was never going to work. Use the size calculator with your real content, and treat 20 mm as an absolute floor whatever the arithmetic says.

2. Is the contrast strong enough?

Scanners threshold the image into light and dark. Brand colours that look distinct to a human can collapse into one grey to a camera. Dark code on a light background, ideally at 7:1 contrast or better. Our generator's scan check reports the ratio before you download.

3. Has the quiet zone survived?

The specification asks for four modules of clear space on every side. Designers routinely lose it to a border, a photo edge, a fold or a sticker. Restore it and retest — this fix alone rescues a surprising number of codes.

4. Is the print sharp?

Blurred or bleeding modules destroy the pattern. Print from a vector SVG, or from a PNG with at least four pixels per module. Uncoated stock bleeds more than coated; a code that scans on the proof can fail on the production substrate.

5. Is it inverted or transparent?

Light code on a dark background works on many modern phones and fails on others. A transparent background takes on whatever is behind it — which on a photograph is anything at all. For print, export with a solid light background.

6. Is the logo too big?

A centre logo works because error correction can rebuild the covered modules. At level H that is roughly 30% of the data, but coverage plus print variation plus a scuff adds up fast. Keep the logo under a quarter of the code's width and always use level H.

7. Is the content too long?

A long URL with tracking parameters makes a dense code that needs to be printed bigger. Shorten the destination at source — a clean path on your own domain beats a third-party shortener that can vanish.

8. Is the destination actually alive?

Sometimes the code is fine and the page is gone. Scan it and read the URL before assuming the code is at fault. If the link is dead and the code is printed, the code is dead too — that is the trade-off of static codes.

Common causes and fixes

SymptomLikely causeFix
Works on screen, not on paperSize or print qualityPrint larger; export SVG or a higher-resolution PNG
Some phones onlyInverted colours or low contrastDark on light, raise contrast
Worked, then stoppedDead destination or damaged printCheck the URL; reprint if scuffed
Never scans anywhereQuiet zone removed or code croppedRestore four modules of margin
Scans slowly, needs several triesToo dense for its sizeShorten the content or print bigger

Prove it before you print again

Use Verify scan in the generator — it re-decodes the image you are about to download and compares it against your data, so you know the file is sound before the substrate becomes a variable. Then follow the testing routine on a printed sample.

Sources

The quiet-zone and module-structure requirements are defined in ISO/IEC 18004, the QR Code specification. Print-quality grading for 2-D symbols is covered by ISO/IEC 15415.

More guides