How to print QR codes that actually work

Generating a QR code is quick. Printing one that scans reliably takes more care.
It rarely fails because of the technology. It fails because of size, contrast, the surface it’s printed on, or because the code points to a page that no longer exists three months later.
How big does a QR code need to be?
The minimum size depends on scanning distance.
There is no single minimum size for every QR code. Scanning distance, encoded URL length, error-correction level, print quality, lighting, surface, and the reader’s phone all affect the result. Start larger for wall signs than for hand-held print, preserve the quiet zone around the code, and test the final artwork at the intended distance before ordering a print run.
Contrast and color
QR codes need high contrast. Black on white is the safest option. Dark blue or dark green on white usually works too. Light colors on a light background, or dark on dark, often fail even when the code looks readable to the human eye.
Inverted codes (white on black) are recognized by many scanners, but not all. If you want to be safe, stick with a dark code on a light background.
Logos inside the QR code rely on its error correction, but the safe area is not a universal percentage of the image. Covering modules reduces the margin for damage and poor printing. When reliability matters, skip the logo and test every branded variant.
What to print on
Regular office paper works for anything that hangs indoors and doesn’t get handled. For the break room, locker area, or bulletin board, a normal printer is fine as long as the printout stays dry and out of direct sunlight.
For areas with moisture (production floors, kitchens, outdoor spots), you need laminated paper or a sticker. You can order QR code stickers from a print shop, or print them yourself on adhesive labels if you have a label printer.
Reflections are a problem. Laminated material or glossy stickers reflect under direct light, and that can confuse the scanner. Matte surfaces scan more reliably.
Where to place them
The QR code needs to hang where people see it and where they can hold their phone. Sounds obvious, but it goes wrong often enough.
Good spots: next to the break room door, in the locker area, at the entrance to the production floor, on the bulletin board, next to the time clock. Anywhere people stand for a moment and have their phone handy.
Bad spots: areas where phones are prohibited (clean rooms, some production zones). Heights that are awkward to scan (too high on the wall, too low near the floor). Behind glass that reflects.
Static vs. dynamic QR codes
This is where most mistakes happen.
A static QR code contains the target URL directly in the code itself. If you want to change the URL, you need to print a new code. If the page behind the code gets moved or deleted, the code leads nowhere. You cannot update a printed code on a wall without reprinting it.
A dynamic QR code points to a redirect URL. The actual target URL can be changed in the background without swapping the printed code. The shift schedule moves to a new platform? Update the URL in the system, the QR code on the wall stays put.
For anything that hangs on a wall long term, a stable redirect is usually easier to maintain because you can change its destination without reprinting the code.
Don’t forget the label
A QR code without a label rarely gets scanned. People want to know what to expect before they pull out their phone.
“Scan for shift schedule” works better than a code with no text. “Vacation request” next to the code works better than “More info here.” Be specific about what the code leads to.
A short instruction can help when the audience may not scan codes regularly: “Scan the QR code with your phone camera.”
Test before printing
Before printing, test the code with more than one phone when possible, including an older device used by the intended audience. Most current smartphones scan QR codes through the built-in camera experience, but older devices may behave differently.
After printing: scan again. At the actual size, from the intended distance, under the lighting conditions at the location. A code that works on screen can fail in print if the print quality is poor or the contrast is off.
The short version
Most printing mistakes come down to size, contrast, placement, or a fixed destination that later changes. Use high contrast, preserve the quiet zone, test the final print at the intended distance, use a stable redirect for long-lived material, and label what the code opens.
If you use QR codes internally, decide who keeps the destination current before the code is printed.