Skip to main content
QRSenBuilt for business
How-To & Troubleshooting

QR Code Not Working After Printing (Even Though It Scanned Fine on Screen)

This usually comes down to something that only shows up in the physical world: glare off glossy or laminated paper, ink bleed blurring the module edges at small sizes, a fold or crease running through the code, or a shift in contrast between the screen's RGB and the printer's CMYK. Reposition the code away from folds, use a matte finish where possible, and always test-scan a physical proof before running a full print job.

Glossy paper and lamination are the most common culprit. Under certain lighting angles, a glossy or laminated surface reflects enough light directly back into a phone's camera to wash out the contrast the scanner needs, even though the same code looked perfectly fine viewed flat on a monitor. This is a lighting-and-material interaction, not a flaw in the code itself, which is why it's easy to miss until the material is out in the real world under different light than an office desk lamp.

Ink bleed shows up specifically at small print sizes, where the fine modules are close enough together that ink spreading slightly on the paper fibers merges neighboring modules into a blob. A code that's a comfortable two inches square might print cleanly, while the same code shrunk to half an inch on a business card bleeds together. Uncoated or absorbent paper stock makes this worse than smooth, coated stock.

A fold or crease is a purely physical failure mode that has nothing to do with image quality — it's common on tri-fold brochures and product packaging where a code gets placed too close to, or directly across, a fold line. Every time the material is folded and unfolded, the crease physically distorts the pattern a little more, until enough modules are misaligned that a scanner can't reconstruct the data. The fix is simple: never place a code across a fold, and leave a margin from any edge that will be creased or trimmed.

Color shift between screen and print is the least obvious cause. Screens display color as RGB light; printers lay down CMYK ink, and the conversion between the two doesn't always preserve contrast the same way, especially with darker background colors or lighter foreground colors that looked high-contrast on a monitor. A code that passes every on-screen check can still come out muddier in print than expected. The reliable fix for all four of these is the same: print one physical proof at final size and material, and test-scan it before committing to a full run.

A fifth, less common cause worth ruling out: some specialty printing processes (screen printing, certain fabric transfers, embossing) introduce their own distortion beyond standard offset or digital printing's typical issues, and a code destined for one of those processes benefits from a proof pulled specifically through that same process, not just a standard desktop printer, since the two can behave quite differently even when the source file is identical.

Frequently asked questions

On-screen previews use a backlit RGB display, which is far more forgiving of low contrast than printed ink on paper under ambient light. A proof print is the only real test.
Lamination itself doesn't damage the code, but its glossy surface can create glare that blocks a scanner under certain lighting. A matte laminate avoids this while still protecting the print.
It depends on the error correction level used, but even a fold through the center can push a code past what its error correction can recover, especially over repeated folding. Avoiding folds through the code entirely is safer than relying on error correction to compensate.