Skip to content
Fundamentals

Why Your QR Code Works On Screen But Not In Print and How to Fix It

Codexengr, QR Systems Engineer
Published 2027-07-22 (Updated 2026-10-05)
7 min read
Peer Reviewed & Fact Checked

What you are seeing

The code scans perfectly from a monitor or a phone screen, then fails once printed. Printing changes the code in ways the screen hides: ink spreads, colours shift, resolution drops, glossy stock reflects, and small modules blur together. A screen test therefore proves the payload, not the print. The fix is to treat the printed proof as the real test and to design the print for the material and printer you will actually use.

Likely causes

1. Wrong file type or resolution for print — A small raster image stretched to poster size turns sharp modules into soft blocks. Test: check the exported file size and type; a vector export or a high-resolution raster at the printed size behaves far better. 2. Ink spread on absorbent stock — Ink soaks into uncoated or recycled stock and thickens the dark modules until the light gaps close up. Test: compare the proof with the digital file under magnification; thickened modules point at ink spread. 3. Colour shift on the real printer — A colour pair that looks high-contrast on screen can print weakly, especially on a printer low on ink or using a limited palette. Test: print the code in plain black on white; if that scans, colour is the cause. 4. Glossy stock reflections — Gloss and lamination create hot spots that wash out modules under overhead light. Test: tilt the proof or shade it; if scanning improves, reflections are the cause. 5. Size shrunk to fit the layout — A code that scanned at full size in the design file may have been scaled down to fit a card or label, making the modules too small to resolve. Test: measure the printed code and compare it with the size you designed.

Step-by-step fix

1. Export a fresh file for print: vector format where possible, or a high-resolution raster sized for the printed dimensions. 2. Print one proof on the exact stock and printer you will use for the run. 3. Compare the proof with the digital file, looking for thickened modules, weak colour, or reflections. 4. Reprint the proof in plain black on white at a slightly larger size and test it in the real lighting. 5. Adjust the print settings or stock, or enlarge the code, until the proof scans reliably on two phones. 6. Only then approve the full run, and spot-check the first copies off the printer.

Putting this into practice

In practice, the screen test and the print test answer different questions, and you need both. The screen test proves the payload is right. The printed proof proves the ink, stock, size, and lighting are right. Never let a passing screen test skip the printed proof. Keep a short note of what you tested, what failed, and what you changed, so the next person starts from evidence rather than guesswork. A fix that is written down survives staff changes and reprints; a fix that lives only in memory gets repeated.

Common mistakes to avoid

- Approving a full print run from a screen test and discovering the failure only after hundreds of copies are printed. - Reprinting the full run before a single proof passes, which turns one failure into many. - Testing on one phone in ideal conditions instead of two phones in the real conditions where a code that works on screen but not in print will be used. - Changing the artwork and the placement at the same time, so you cannot tell which change fixed a code that works on screen but not in print.- Skipping the proof test because the change looked small, when small changes cause most repeat failures.

Quick checklist

- The print file is vector or high-resolution at the printed size - One proof on the real stock scans on two phones - The printed modules match the digital file without thickening or glare - The corrected proof passes on two phones in the real conditions - The fix is recorded in the job file so the next reprint starts from a proven setup - Every printed copy is checked against the approved proof - The proof is retested after any later change to the link, design, or placement

Related tools and guides

- [QR minimum size checker](/qr-minimum-size-checker) - [QR contrast checker](/qr-contrast-checker) - [QR print proof checklist](/qr-print-proof-checklist) - [QR DPI calculator](/qr-dpi-calculator) - [QR quiet zone calculator](/qr-quiet-zone-calculator) - [printed QR tester](/printed-qr-tester) - [QR size calculator](/qr-size-calculator)

Frequently Asked Questions

Why does a QR code scan on my monitor but not on paper?

Printing changes contrast, sharpness, size, and reflections, and any of those can break a code that looked perfect on screen. Ink spread thickens modules, colour shifts weaken contrast, and glossy stock adds reflections. A printed proof on the real stock is the only test that covers all of those changes.

Is a PDF export better than a PNG for printing QR codes?

A vector PDF usually prints more sharply than a raster PNG, because the printer renders the modules at its own resolution instead of stretching fixed pixels. If you must use a raster file, export it at the exact printed size with plenty of pixels so the modules stay crisp.

Does glossy paper really stop QR codes scanning?

It can, because reflections wash out modules under overhead light. The code may scan fine at one angle and fail at another. Matte stock, a different placement, or a larger size usually fixes it, and a tilt test on the proof will confirm whether reflections are the cause.

Ready to generate high-precision QR codes?

Test your designs in real-time with our 100% client-side QR studio suite. Zero tracking, instant vector downloads.

Open QR Code Studio