The checklist
- Print a proof at real size, on the real material: the paper, card or sticker stock you’ll use, at 100% scale. Measure the code with a ruler.
- Use two phones, an iPhone and an Android phone, one of them a few years old. Use the built-in camera, as most people will, not a scanner app.
- Stand where people will stand, at their distance and angle, in the real light: a dim restaurant, a sunny window, a hall at night.
- Switch Wi‑Fi off and use mobile data, so you know the page loads for people who aren’t on your network. For a Wi‑Fi code, forget the network on the test phone first.
- Test signed out. Open the link in a private browser tab, or on a phone that isn’t signed in to your accounts. Shared files and pages behind a login work for you and nobody else.
- Check the destination on the phone: it’s the right page, it loads quickly, it reads without zooming, and its buttons and forms work.
- Read the address the phone shows before tapping. It should be exactly your address, with https and the domain people will recognise.
- Keep the proof that passed, with the date, so you can compare it with the batch.
Hand it to someone who hasn’t seen it
Once the code scans, give the printed proof to someone who hasn’t been involved and say nothing. Watch what they do. Do they know what the code is for before they scan it? Do they hold the phone at a sensible distance, or come in too close? When the page opens, is it what the words next to the code promised? A label such as “Scan for today’s menu” or “Scan to join our Wi‑Fi” does more for the number of scans than any design choice, and a stranger finds a vague one in seconds.
Why scanning your screen isn’t enough
A screen glows, has very high contrast and shows the code at whatever size the window happens to be. Paper reflects light, ink spreads into neighbouring modules, and an office printer turns white into the slightly grey white of the paper. Print dialogs set to “fit to page” quietly shrink a layout, so a code designed at 3 cm can come out at 2.5. And glossy paper or laminate throws back the glare of ceiling lights, which no screen test shows. Scanning the screen tells you the content is right; only the proof tells you the print works.
Common failures and their causes
| What happens | Likely cause | Fix |
|---|---|---|
| No phone reads it | Too small for its content, too little contrast, margin cropped, or a light code on dark | Print bigger or shorten the content; dark code on a light background; keep a 4-module margin |
| Scans close up, not from where people stand | Too small for the distance | Make it about a tenth of the scanning distance wide |
| One phone reads it, another doesn’t | Older camera, inverted colours, airy dot shapes, borderline contrast | Square modules, more contrast, a bigger print |
| Fine indoors, fails in a window or under lights | Glare from gloss paper or laminate | Matte materials; tilt the sign |
| Fine on the proof, fails on the product | A curve, a fold or a seam through the code | Move it to a flat area, or make it smaller relative to the curve |
| Scans, but the page won’t load | A staging or internal address that only works on your network, a dead link, or a page that needs a login | Use the public address; test on mobile data, signed out |
| Opens the wrong page or an error | A typo, or the page moved | Fix the link, or redirect the old address |
| A Wi‑Fi code works only on your phone | Your phone already knew the network | Forget the network on the test phone and test again |
The one that catches people out is the staging address. A link to a test version of a site, a page on the office network or anything starting with an internal name works perfectly at your desk and nowhere else. Mobile data with Wi‑Fi off finds it in seconds.
What online checkers can and can’t tell you
A website or app that decodes an uploaded picture of your code tells you what the code contains, which is worth knowing if you didn’t make the file yourself. It can’t tell you whether the print scans, because it never sees the print. Some generators check that their own preview decodes; that catches a broken design, not a bad print. Treat both as the first step, not the last.
When to test again
- Every reprint on a different printer, paper, print shop or material, or at a different scale. A colour that was fine on white paper may be weak on recycled stock.
- After any design change: new colours, a logo, different module shapes or a frame.
- After website changes. A redesign, a new shop platform or a domain move can break every printed link at once. Scan each code on your list.
- Codes outdoors, every few months: sun fades ink and weather lifts labels.
- Dynamic codes, each time you change the destination: one scan confirms the change took.
Keep a simple list of where each code is printed and what it points to. It turns “check our codes” from a hunt into a five-minute walk round.
Make it in QR Island
The QR Island studio checks your design as you style it and shows the smallest safe print size for your code beside the message bar. In Get QR code, Full screen shows the code flat on a card, so you can scan it from the screen as a first check. Then open the free print sheet: it lays the code out at true sizes on US Letter or A4, from the smallest safe size up, each with roughly how far away it scans, so one printed page tests several sizes at once. Island pack code files are also decoded on our server before they’re delivered.



