QR codes are simple enough that most people assume they cannot get them wrong. Then a print run of two thousand flyers comes back with a square that nobody can scan.
I have seen every one of the mistakes below in real printed material, several of them more than once. None of them take long to avoid.
1. Printing it too small
This is the most common failure by a wide margin.
A code that looks perfectly readable on a laptop screen becomes a smudge on paper at a quarter of the size. The rule of thumb is that a code needs to be at least a tenth of the distance it will be scanned from. Scanned from thirty centimetres, it needs to be three centimetres wide. Scanned from three metres across a shop, it needs to be thirty.
On any printed page, two and a half centimetres square is the floor. Below that you are gambling on the quality of your customer’s camera.
2. Killing the contrast
Designers like codes that blend into the layout. Cameras like codes that stand out from it.
Your code must be clearly darker than its background. Grey on cream, gold on white, pastel on pastel: all of these fail in ordinary conditions even though they look elegant in the design file.
Inverted codes, light pattern on a dark background, are a special trap. They work on newer phones and fail on older ones, so you will never see the problem in your own testing and your customers will.
3. Cropping the quiet zone
The empty margin around the code is not padding. It is how the camera identifies where the code begins and ends.
Every layout squeeze eventually comes for this margin, because it looks like wasted space. Leave at least the width of four of the small blocks clear on all four sides. Do not run text, borders or images into it.
4. Using a stretched low resolution image
Somebody downloads a small PNG, drops it into a poster file, and drags the corner until it fits.
The result has soft, uneven edges. It might scan on a good phone in good light and fail everywhere else, which is the worst kind of failure because you will not catch it in testing.
For anything printed, use a vector file. For screens, PNG at a generous size. Never enlarge a small image.
5. Not testing on real paper
Scanning a code on your own monitor is not a test. Screens are backlit, perfectly flat and very high contrast. Paper is none of those things.
Print one copy. Take it to where it will actually be displayed. Scan it in that lighting, from that distance, using an ordinary phone rather than the newest one in the office.
This takes five minutes and it is the single highest value thing on this list.
6. Leaving the square unlabelled
A code with no text next to it is a question. Most people will not bother answering it.
Scan to see the menu. Scan to book a slot. Scan to pay. Six words turns a puzzle into an instruction, and the difference in scan rates is large enough to be embarrassing.
Put the words directly under the code, not in a corner of the page.
7. Pointing at a link you do not control
This one is expensive rather than technical.
If your code points at a free short link service, a campaign page hosted on someone else’s platform, or a temporary URL, you have handed control of your printed material to a third party.
Services close. Free plans get discontinued. Campaign pages get deleted by whoever built them. When that happens, every printed code you own becomes an error page and there is no fix except reprinting.
Point codes at your own domain wherever possible. If the destination might change later, set up a redirect on your own site rather than relying on someone else’s.
The bonus mistake: assuming everyone will scan
Even a perfect code will not be used by everyone. Some people have no data left. Some are holding a bag. Some simply do not want to.
So never make a QR code the only route to something essential. If the code carries your menu, keep printed menus. If it carries your phone number, print the number too. Treat it as a shortcut for the people who want one, not as a replacement for the ordinary way of doing things.
The five minute check before you print
- Is it at least two and a half centimetres on paper
- Is the pattern clearly darker than the background
- Is there empty margin on all four sides
- Is the file vector, or at least high resolution
- Have you scanned a printed copy, in the real location, on an average phone
- Is there a short line of text saying what it does
- Do you control the destination link
Seven questions. If all seven are yes, your print run is safe.
Making a clean one
Most of these problems start at the download stage with a file that was never big enough. Use a tool that gives you a proper high resolution output and shows the preview before you commit.
I use generateqrcod.com for this, mainly because the download is usable for print straight away rather than needing to be regenerated at a larger size later.
The technology behind QR codes is remarkably forgiving. Nearly every failure I have investigated came down to something on this list, and every item on this list is free to fix before the printer runs.