How to use
- Choose an image of the QR code or paste a screenshot. Exported artwork or a photo of a poster both work.
- The code is outlined on the image and each check is listed.
- Fix what it reports, export again and re-check.
Options explained
- Contrast
- The brightness contrast between dark and light modules using the WCAG formula. Aim for at least 4:1; dark modules on a light background are easiest to read.
- Quiet zone
- The QR standard asks for a plain margin 4 modules wide on every side, with no text or graphics. If the image is cropped tightly, the image edge is used.
- Still readable at
- The image is shrunk to 50%, 25% and 12.5% and scanned again. The smaller it still reads, the more reliable it is at a distance or when printed small.
- Smallest recommended print size
- Based on at least 0.4 mm per module, a common limit for printers and phone cameras. Farther scanning needs a bigger code; a rule of thumb is one tenth of the scanning distance per side.
What counts as a problem
After a code is found, the report lists its version (a code of version V has 17 + 4 × V modules per side), the error-correction level, the module size in the image, the contrast and the quiet zone. It then flags each of these cases:
| Check | Flagged when |
|---|---|
| Low contrast | Contrast between dark and light modules is below 4:1 |
| Inverted code | The code is light on dark |
| Quiet zone narrower than 4 modules | The margin around the code is under 3.5 modules |
| Content inside the quiet zone | More than 3% of the 4-module ring around the code is not background-coloured (checked once the margin itself is wide enough) |
| Small modules | One module is under 3 pixels in the image |
If nothing is flagged, the verdict reads “Looks good — this code should scan reliably”. Otherwise it shows how many things need fixing.
The smallest recommended print size is (modules + 8) × 0.4 mm per side, rounded up, where the 8 is the 4-module quiet zone on both sides. It counts 0.4 mm per module and does not depend on scanning distance.
| Version | Modules per side | Smallest print size |
|---|---|---|
| 1 | 21 | 12 mm |
| 2 | 25 | 14 mm |
| 3 | 29 | 15 mm |
| 5 | 37 | 18 mm |
| 7 | 45 | 22 mm |
| 10 | 57 | 26 mm |
Frequently asked questions
If it passes, will it definitely scan?
The checks cover the most common problems, but print quality, glossy materials, curved surfaces and lighting matter too. For important print runs, print a proof and scan it with a few different phones.
Can it check a QR code with a logo in the middle?
Yes, as long as it can be decoded. Keep the logo below half of what the error-correction level can recover, or a little damage may make it unreadable.
What do error-correction levels L, M, Q and H mean?
They recover about 7%, 15%, 25% and 30% damage respectively. Use Q or H with a logo or where the code may get scuffed, at the cost of a denser code.
Is my image uploaded?
No. Decoding and analysis run in your browser.
Privacy
This tool runs entirely in your browser. Your files and text are processed on your device and are never uploaded to our servers.