How to test a QR code before you print 500 of them
Fifteen minutes of checking costs nothing. A reprint costs whatever the print run cost, plus the time the codes were out there not working.
Most QR code failures are discovered after printing, which is the one point at which they are expensive. Nearly all of them would have been caught by this list.
1. Scan it from the actual artwork, not the generator
The most skipped test, and the one that catches the most. Do not scan the preview on the generator page. Export the file, place it in the real layout at the real size, and scan the exported artwork.
This catches the single most common design failure: a code that was fine until it was scaled, cropped or placed against a background in the layout tool.
2. Check the destination opens, on a phone
A code that scans perfectly and lands on a 404 is still a failed code. Open the destination on a phone, on mobile data rather than office Wi-Fi, and confirm it is usable at that size.
If the destination is a PDF, reconsider. PDFs on phones open in a viewer, load slowly on a weak connection, and need pinch-zooming. A web page is almost always better.
3. Print it at the real size and scan the paper
Screens are backlit and perfectly flat. Paper is neither. Print a proof at the exact final dimensions — not scaled to fit a page — and scan the paper.
If the final product is laminated, glossy, on coloured stock, or curved, proof on something as close to that as you can manage. Gloss under a downlight is a common and avoidable failure.
4. Two phones, minimum, one of each
iOS and Android use different decoders with different tolerances. A code can work reliably on one and marginally on the other. Test the native camera app on both, because that is what most people will use.
If you can, include an older phone. New cameras hide problems that a three-year-old device will find.
5. Scan from the distance it will actually be read from
A table tent is read at 40cm. A window decal is read from the pavement. A yard sign is read from a car. Each demands a different size, and the working rule is that a code should be roughly a tenth of its scanning distance.
Walk to that distance and try. This is the test that reveals a code is simply too small, which no amount of design tweaking will fix.
6. Check the lighting it will live in
Dim restaurants, sunlit windows and fluorescent warehouses all behave differently. Dim light makes cameras use higher ISO and longer exposures, so small modules blur. Direct sun on a glossy surface creates a hotspot that blinds the sensor entirely.
Scan it where it is going to live, at the time of day it will be busiest.
7. Measure the quiet zone
The blank margin must be at least four modules wide. Divide the printed width by the module count to get the module size, then multiply by four.
A 25mm code with 25 modules has 1mm modules, so it needs 4mm of clear space. Designers crop this constantly to fit a layout, and it is the quietest cause of failure because the code looks completely normal.
8. Check what happens in six months
The test nobody runs. Ask two questions:
- Will the destination still exist? If it is a campaign page, an event listing or a seasonal offer, it will not. Use a dynamic code so you can repoint it.
- Will the code still resolve? If it is dynamic, find out — in writing — what your platform does when a subscription lapses. This is the most complained-about behaviour in the entire category and it is not usually prominent at signup.
The checklist, short
- Scan the exported artwork, not the preview.
- Open the destination on a phone, on mobile data.
- Print at final size and scan the paper.
- Test on iOS and Android, native camera.
- Scan from the real distance.
- Scan in the real lighting.
- Measure the quiet zone: four modules.
- Confirm the destination and the code will both still work in six months.
Our generator shows the version, module count and a recommended minimum print size for your specific code, and warns about contrast before you export — which covers several of these before you reach the printer.
Related questions
How small can a QR code be?
It depends on module count, not just overall size. Keep modules at or above roughly 0.5mm for clean indoor print and 0.75mm for anything handled or outdoors. A 21-module code at 20mm gives 0.95mm modules; a 57-module code at the same size gives 0.35mm and will struggle.
Do I need to test every code in a batch?
Test a sample across the range — shortest and longest content, since those produce the smallest and largest module counts. If both ends scan at final size, the middle will.
Related reading
Do QR codes expire? The honest answer
QR codes do not expire. The services behind some of them do. Here is the difference, and how to tell which kind you are holding.
Why your QR code stopped working: 7 causes, most likely first
A diagnostic order for a QR code that used to scan and now does not — from the most common cause to the rarest, with how to check each one.
Static vs dynamic QR codes: which one to print
The real trade-off between static and dynamic QR codes, with a decision rule and the cases where each one is clearly right.