How to make a QR code that actually scans
By Shivendra Kumar Sonkar · Published 2026-11-02
A QR code is a square pattern of dark and light modules that a phone camera reads and turns back into text — usually a web link. They are easy to make and surprisingly easy to make badly. These are the rules that decide whether a code scans reliably on a shop window, a visiting card or a poster.
1. Keep strong contrast
Scanners look for dark modules on a light background. Black on white is the safest. Dark blue, dark green or deep red on white also work. Light colours on a light background, or low-contrast pairs such as yellow on white, are the most common reason a code fails. Many scanners also struggle with "inverted" codes — light modules on a dark background — so avoid them unless you have tested them.
2. Leave the quiet zone
The blank margin around a QR code, about four modules wide, is part of the design. It lets the scanner find the edges. Do not crop it off and do not run text or borders into it. SnapFit's codes include this margin, so keep it when you place the image in a layout.
3. Print it large enough
As a rule of thumb, a printed code should be at least 2 cm across for close-up scanning, and bigger the further away it will be read from. A poster read from two metres away needs a code many times that size. If your link is long, the code contains more modules and each one is smaller, so shorten the link where you can.
4. Understand error correction
QR codes include redundancy so they still read when part of the code is dirty, damaged or covered. There are four levels, which can recover roughly 7%, 15%, 25% and 30% of the code (levels L, M, Q and H). Higher levels add more modules, so the code looks denser. This redundancy is exactly what makes a logo possible: the logo covers some modules, and error correction fills the gap.
When you add a logo in SnapFit, the generator automatically switches to the highest level. Without a logo it uses a lighter level, which keeps the code simpler and easier to scan from afar.
5. Keep the logo small and simple
- Keep the logo to roughly a fifth of the code's width. Bigger logos eat into the 30% recovery budget and make the code fragile.
- Give the logo a solid background pad so the modules around it are cleanly cut, not half-hidden.
- Prefer simple marks. A detailed photo as a logo adds visual noise next to the pattern.
- Always test the finished code with at least two different phones before printing in bulk.
6. Choose PNG or PDF for the job
Use the PNG for screens, social posts and documents. Use the PDF for printing: it places the code on an A4 page at a fixed physical size, which avoids the browser or printer shrinking it unexpectedly. If a print shop asks for vector artwork, tell them what you have — a 1024-pixel PNG is plenty for anything up to a small poster, but not for a billboard.
7. Remember what the code contains
A basic QR code holds the link itself; it does not phone home through a tracking service. That means it never expires, but it also means that if you later change the page address you need a new code. Double-check the link before you print — a typo is permanent once it is on a thousand flyers.
Quick pre-print checklist
- Link opens correctly and uses https.
- Dark code on a light background.
- Quiet zone intact, at least 2 cm across.
- Logo around a fifth of the width at most.
- Scanned successfully on two phones, in normal indoor light.
Make a QR code with your logo →