How to fix a blurry QR code, step by step
Paolo Matias TonelloUpdated 8 min read
A blurry QR code is one of the most common reasons a scan fails. The problem usually starts long before the code reaches the printer: it is exported at the wrong resolution, compressed by a messaging app, or scaled by software that anti-aliases the sharp edges the scanner needs.
Fix it in four steps
- Diagnose the blur: open the file at 100% zoom. Soft grey halos around the modules mean resampling or JPEG compression; hard but chunky squares mean the file is simply too small.
- Re-export from the source instead of retouching: SVG for anything printed, or a PNG rendered at the final physical size times 300 dpi.
- Check the physical size against the read distance (roughly one tenth of it) and keep the quiet zone of four modules intact after any resizing.
- Verify contrast and re-test: scan the actual proof with an iPhone and an Android at the real distance and lighting before approving the run.
| Printed size | Pixels at 300 dpi | Pixels at 600 dpi | Safe format |
|---|---|---|---|
| 15 mm (label) | 177 px | 354 px | SVG |
| 25 mm (business card) | 295 px | 591 px | SVG |
| 40 mm (table tent) | 472 px | 945 px | SVG |
| 100 mm (poster) | 1181 px | 2362 px | SVG |
| 300 mm (banner) | 3543 px | 7087 px | SVG |
Why QR codes and barcodes become blurry
QR codes are designed to be read as a grid of sharp black and white squares, and 1D barcodes as sharp vertical bars. Anything that softens those edges makes decoding harder. The most common culprits are low-resolution PNG exports, JPEG compression, social media or chat apps that re-encode images, and scaling a small raster image up to print size.
- Saving a QR code as JPEG instead of PNG or SVG
- Compressing the image through email, WhatsApp or Instagram
- Scaling a 200 px PNG to a 10 cm print
- Printing through a driver that applies sharpening or smoothing
- Laminating with a textured or matte film that scatters light
PNG vs SVG: which export keeps a QR code sharp
PNG is a raster format: it stores pixels. A PNG QR code is only sharp at the size it was exported. If you need it bigger, you must export it bigger. SVG is a vector format: it stores the exact position of every module as geometry. An SVG QR code stays razor-sharp at any size, from a business card to a billboard, because the printer recalculates the edges at the final resolution.
How to fix a blurry QR code image
- Go back to the source. Re-export the code as SVG from the generator if possible.
- If you only have a PNG, do not scale it up. Re-export at the exact print dimensions.
- Avoid JPEG. Its lossy compression introduces colour bleed around module edges.
- Open the image at 100% zoom and check that edges are still hard black and white.
- If a photo is blurry due to camera shake, retake it straight-on in even light.
- Use a QR sharpening tool only as a last resort; regenerating the code is safer.
Minimum resolution for sharp QR code printing
A safe rule of thumb is 300 pixels per inch of print. A 3 cm square code needs at least 350 pixels per side. But resolution is only half the story: the code must also have enough physical size for the scanning distance. A code that is sharp but 5 mm wide will still fail because the phone cannot resolve the modules from a normal distance.
| Scanning distance | Minimum side length | Best format |
|---|---|---|
| Handheld, 10-20 cm | 2.5 cm | SVG or 300 dpi PNG |
| Table tent, 30-50 cm | 4 cm | SVG |
| Poster, 1-2 m | 10 cm | SVG |
| Banner or billboard, 3 m+ | 30 cm+ | SVG |
Blurred barcode on a photo, screenshot or scan
If the only copy you have is a photograph or a screenshot of a printed code, the missing detail cannot be recovered. Try decoding it first with a reader that tolerates noise; if that fails, the practical route is to read the destination from another copy and regenerate the code from the original data instead of retouching pixels.
- Retake the photo straight-on, filling the frame, in diffuse light with no flash glare.
- Turn off any beauty or HDR mode that smooths edges on phone cameras.
- Try a dedicated decoder on the file rather than the camera viewfinder.
- If it decodes, copy the payload and regenerate a clean code from it.
- If it does not, treat the code as lost and reprint from the source file.
Test before you print hundreds of copies
Always scan the proof from the distance and lighting your users will use. A code that scans perfectly on a bright desk may fail under restaurant lighting or when the phone is held at an angle. Print one copy, scan it with both iPhone and Android, and only then approve the full run.
FAQ
Can you sharpen a blurry QR code?
Not reliably. Sharpening filters raise local contrast but cannot restore the module edges the file has already lost. Regenerating the code from its data and exporting SVG is both faster and guaranteed to scan.
What DPI should a QR code be printed at?
300 dpi is the practical minimum for offset and digital print, 600 dpi for small labels under 20 mm. Vector SVG removes the question entirely because the printer rasterises at its own device resolution.
Why does my QR code look blurry after sending it on WhatsApp or email?
Messaging apps re-encode images as lossy JPEG and downscale them. Always send the original SVG or PNG as a file attachment, not inside a chat image.
How small can a QR code be before it stops scanning?
About 2 cm for a code read at arm's length, and only with a short encoded URL. Shortening the payload enlarges each module and buys back tolerance.
Put it into practice
Keep reading
- QR code design: contrast, quiet zone and logosThe design rules that decide whether a QR code scans on the first try or not at all, from contrast ratios to logo placement.
- QR code error correction and minimum print sizeHow much damage a QR code can survive is a number you choose at generation time, and it directly decides the smallest size you can safely print it.
- Why QR codes stop working (and how to avoid it)Most "broken" QR codes are fine — the destination behind them, or the print job around them, is what actually failed.