Unblur a QR code in four steps
- Open the blurry code. A photo or screenshot. Crop close to the code if it is small in the frame.
- Let the ladder run. The code is read as it is, then after each pass. It stops at the first one that decodes, or after 25 seconds.
- Read the text. It is shown as text and never opened. Web addresses that look like a disguise get a warning.
- Save the cleaned code. The pass that worked is saved as a clean PNG you can print or scan again.
Why a decode is the only honest test
A QR code either scans or it does not. A pass that makes the squares look crisper but leaves a module wrong is a failure, however good it looks. So every pass here is checked by actually decoding the code with your browser’s own barcode reader, and the page reports which pass made it readable — or that none did.
| Reads as it is | Reported straight away; no pass was needed. |
|---|---|
| Reads after a pass | The pass is named: kernel, angle, length. |
| Never reads | Said plainly, with what to try next. |
| No reader in this browser | The cleaned code is offered to scan with a phone camera. |
When this will not help
- A code too small in the frame: a few pixels per module is not enough information. Crop closer or retake it.
- A torn, covered or partly missing code beyond its own error correction.
- Browsers without a built-in barcode reader: the page cannot check its own work there and says so.
For a blurred page of text, use unblur a document photo; for any other blurry photo, the deblur workspace.
Questions
Will it open the link in the code?
Never. The decoded text is shown on the page with a copy button. If it is a web address, the page warns about common disguises — non-Latin look-alike letters, text before an @ sign, bare number addresses, plain http and long chains of sub-domains — and leaves the decision to you.
Which codes can it read?
Whatever your browser's built-in barcode reader supports: usually QR codes and often Data Matrix, Aztec, PDF417 and common product barcodes. The page asks the browser and uses what it lists.
My browser says it has no barcode reader. What now?
The page still runs the measured deblur pass and offers the result as clean black and white. Save it and scan it with your phone's camera; most phone cameras read QR codes directly.
Why does it try so many passes?
Because the measured kernel is an estimate. Small changes in angle or length, or a defocus radius instead of a motion kernel, can be the difference between a code that scans and one that does not. Each attempt is decoded; the first success wins.
When won't this work?
When the code is too small in the photo, damaged beyond its error correction, or so blurred that modules have merged completely. The page says it could not decode it rather than guessing.
Is the photo uploaded?
No. Deblurring and decoding happen in this browser tab.
Related
- Unblur an imageDiagnose the blur, then reconstruct it, with the kernel on a dial.
- Unblur a screenshotDiagnose soft capture, block scaling and motion before a reconstruction pass.
- Unblur a document photoFlatten the page, clear it with one kernel, save a PDF or JPGs.
- Clear a pixelated imageRead block scaling back to its native grid and enlarge it smoothly; mosaic is refused.




