How to Generate a QR Code That Won't Break in Print
The most common ways QR codes fail once they're printed on a flyer, menu, or poster — and how to avoid each one before you hit export.
A QR code that scans perfectly on your laptop screen can fail completely once it's printed and taped to a wall. The failure modes are predictable, and all of them are avoidable if you catch them before printing.
1. The content is too long
QR codes encode data as a grid of modules — the more data you pack in, the denser that grid gets, and the harder it is for a phone camera to resolve at a distance or in bad lighting. A long tracking URL with a dozen query parameters produces a visibly denser code than a short one.
Before generating, ask whether you actually need the full URL. If you're linking to a page you control, a short path beats a long one with UTM parameters every time a code has to be scannable from more than a foot away.
2. Not enough contrast
QR readers work by detecting contrast between the code and its background, not by recognizing specific colors. A code in #333333 on a #111111 background might look fine on a monitor and be nearly unreadable to a camera in dim lighting. Stick to dark-on-light (or true black on true white) unless you've tested the specific combination on an actual phone, not just eyeballed it on screen.
The QR Code Generator lets you pick a foreground and background color — after picking one, always do a real test scan with a phone camera before committing to a print run, not just a visual check on your screen.
3. Exporting at too low a resolution
A QR code that looks crisp at the size you generated it can turn into a blurry, unscannable mess once it's scaled up for a poster or banner. Vector output (SVG) sidesteps this entirely — it scales to any size with no loss of sharpness, which matters if the same code needs to go on both a business card and a storefront window.
If you only have raster export available, generate at the largest size you'll ever need it printed, not the size it happens to display at on your screen.
4. No quiet zone
QR codes need a margin of blank space around them — the "quiet zone" — for a scanner to reliably find the code's edges. Placing a QR code flush against a photo, a colored background, or another design element with no padding is one of the most common reasons a code that scans fine in isolation fails once it's dropped into a full design.
Leave at least the width of a few modules as clear space on every side, and don't let text or logos overlap the code itself, even at the corners.
Test before you print
The one step that catches all four issues above without knowing anything about QR internals: scan the actual exported file, at the actual size and material it'll be printed on, with an actual phone — not on-screen, and not with a scanner app you built the code to be tested against. A code that scans on a monitor at full brightness can behave very differently on matte paper under fluorescent lighting.
Tools used in this guide
QR Code Generator
Turn a link or a line of text into a QR code. Pick a size, pick a color, download it.