Your QR code scanned perfectly on your screen, but now that it’s printed, phones won’t pick it up, or they take forever. The fix is usually simple: the right QR code size for print, strong contrast and smart placement.
Why printed QR codes fail
A screen is bright, flat and evenly lit, and you can hold your phone right up to it. Print is a different world. Your code has to survive paper texture, glossy finishes, dim lighting, curved surfaces and people standing a few feet away. Most scanning problems come down to one of these causes:
- Too small for the distance. The phone can’t make out the individual squares (modules).
- Too dense. A long URL creates a busy pattern with tiny modules.
- Low contrast. Light colors, inverted colors or busy backgrounds blur the pattern.
- No quiet zone. Text or graphics crowd the edges of the code.
- Bad placement. Curves, folds, glare and awkward heights get in the way.
- Low-resolution files. A small image stretched for print turns fuzzy.
How to fix it: 10 steps for printed QR codes that scan
- Size the code for the scanning distance. A practical rule of thumb designers use is that the code should be about one tenth of the distance people scan from. Scanning from 10 inches? Aim for about 1 inch. From 10 feet? Closer to 12 inches.
- Use these minimums as a starting point. Business cards and small labels: at least 0.8 to 1 inch (2 to 2.5 cm). Flyers, menus and table tents: 1.5 to 2 inches. Posters and window signs: 3 to 6 inches or more. Banners: size up dramatically.
- Shorten the data. Long web addresses make dense codes. A dynamic QR code encodes a short link instead of your full URL, so the pattern stays simple and readable even at small sizes.
- Use dark on light. Black on white is safest. Deep navy, dark green or burgundy on white or cream also work well. Avoid light codes on dark backgrounds, since not every scanner reads inverted codes.
- Put the code on a solid panel. If your design has a photo, gradient or pattern, place the code on a plain white or light box.
- Protect the quiet zone. Leave a clear margin of empty space on all four sides of the code. Keep text, borders and graphics out of it.
- Pick a flat, well-lit spot. Avoid folds, seams and tight curves. Skip dark corners and places with strong glare or backlighting.
- Mount it at a comfortable height. People should be able to scan without crouching or reaching.
- Send vector artwork to the printer. SVG files scale to any size without blurring. PNG is fine for digital use and desktop printing, as long as you export it large enough.
- Add a call to action. A short line like “Scan to see today’s menu” tells people why the code is worth their time and makes them more likely to try.
Test before the full print run
Print one proof at the real size, ideally on the real material. Scan it with a couple of different phones, including an older one, from the real distance and under the real lighting. Then confirm the destination page loads quickly on mobile. A few minutes of testing can save you from reprinting hundreds of pieces.
Troubleshooting a code that won’t scan
- Phone focuses but never reads it: the code is probably too small or too dense. Make it bigger or switch to a short link.
- Scans on screen but not on paper: check for low contrast, a glossy finish or a blurry, stretched image file.
- Works close up, fails from a distance: increase the size to match how far away people stand.
- Works for some phones only: avoid inverted colors and increase contrast.
- Scans, but nothing loads: the destination may be broken, slow or need a signal people don’t have where they’re standing.
- Already printed with a mistake in the link? If it’s a dynamic code, you can update the destination without reprinting. A static code has to be replaced.
Common mistakes to avoid
- Shrinking the code to fit leftover space in the layout.
- Matching the code to a pale brand color.
- Printing over a fold on a brochure or around a small bottle.
- Using metallic ink or foil for the code itself.
- Skipping the test scan because it “looked fine” on screen.
How to do it with Infinite QR
Create your code in the QR code generator, choose your colors (keeping contrast high) and pick one of the available shapes, then download it as SVG for professional printing or PNG for everyday use. Dynamic URL codes use a short link to keep the pattern clean, and you can change the destination after printing.
The Free plan includes 3 dynamic QR codes, 1,000 scans, color customization and 4 shapes, which is plenty for a print project. If you need more codes or want your logo inside them, paid plans start at $1 a month. See the details on our pricing page.