Designing QR Codes That Actually Get Scanned
QR codes had a renaissance during the pandemic and never really went away. They're now the easiest way to bridge a printed flyer, business card, or product label with a website or contact card. But not every QR code is created equal — the wrong size, color, or error correction setting can quietly turn it into a useless square.
Pick the right content type
- URL — best for landing pages, social profiles, and menus.
- Text — useful for Wi-Fi passwords or short notes.
- vCard — saves a contact directly to the scanner's phone.
Sizing and contrast
Use at least 256px for screens and 2cm × 2cm for print. Keep strong contrast between foreground and background — light text on dark backgrounds will work, but pastel-on-pastel almost never does. If you're matching a brand color, our Color Palette tool can help you pick a darker shade that still scans.
Error correction
Higher error correction lets the code survive small smudges or a logo overlay — at the cost of being a denser code. Medium is a great default; bump it to Quartile or High if the code will be printed small or partially covered.
Where QR codes work — and where they quietly fail
Placement decides scan rates more than design does. A QR code on a restaurant table gets scanned because the person is seated, bored, and inches away. The same code on a highway billboard gets scanned by nobody, because no one can hold a camera steady at 100 km/h. Before printing anything, ask one question: will the viewer be stationary, within arm's reach to a few meters, for at least five seconds? If not, use a short memorable URL instead.
- High-performing placements: table tents, product packaging, business cards, event badges, receipts, point-of-sale counters, packaging inserts.
- Low-performing placements: moving vehicles, billboards, TV screens shown for under 10 seconds, email footers (the reader is already online — use a link).
The landing page matters more than the code
A scan is a promise: the user gave you their camera and their attention, and they expect an immediate payoff. Send them to a mobile-optimized page that loads in under two seconds and delivers exactly what the physical context promised — the menu, the discount, the manual. The fastest way to kill QR adoption in your business is linking a table-tent code to a desktop homepage where the menu is three taps away.
Testing before you print: the five-device rule
Print is unforgiving — a misprinted batch of 5,000 flyers with a broken code is money in a bin. Before any print run, test your code on at least five combinations: a recent iPhone, an older iPhone, a recent Android, an older Android, and one phone in low light. Scan from the minimum and maximum realistic distances. If any of the five struggles, increase the code's size or contrast before printing, not after.
Quiet zone, materials, and finish
- Quiet zone — leave a white margin around the code at least four modules wide. Designs that crowd the code with graphics are the #1 cause of scan failure.
- Glossy finishes reflect light and can blind the camera at certain angles — matte lamination scans more reliably.
- Curved surfaces (bottles, cups) distort the grid; keep codes small relative to the curve or place them on the flattest area.
- Dark-on-light scans best. Inverted codes (light-on-dark) work on modern phones but fail on older scanners — avoid them for broad audiences.
Measuring results
A plain QR code pointing directly at your URL can't tell you how many people scanned it. The simple fix: add a UTM parameter to the destination URL (like ?utm_source=qr&utm_medium=flyer) before generating the code, and your analytics will report scans as a distinct traffic source. Generate one code per placement — flyer, poster, packaging — and you'll learn which physical locations actually drive traffic.
Frequently Asked Questions
Our editorial team researches, tests, and writes practical guides on document management, image processing, and productivity tools. Every article is fact-checked against the actual tools on Toolz.live and updated regularly to stay accurate.