Unblur a QR code

Make a blurry QR code or barcode readable again — success means it actually scans.

or drop it anywhere on this page · paste with Ctrl+V

No blurry photo handy?

Free · No sign-up · Photos stay on your device

Blurred on purpose, then fixed here

Three ways a frame fails, drawn here and measured with the same code

Nothing below is a photograph somebody chose. The frame is drawn by this page, broken in the way the segment names, and — if you press the control — put through the identical worker the button in the rail uses. Two of the three are cases where the answer is no.

Camera shake. Every pixel averaged across nine cells along one axis, which is what a hand-held exposure does.

The case the pass is shaped for. The energy is still in the frame, moved sideways, and a kernel of the measured shape walks most of it back.

These numbers are this processor’s, measured now. What a learned pass would cost to fetch and what it is licensed under are on the weights page.

Choose photo

Unblur a QR code in four steps

  1. Open the blurry code. A photo or screenshot. Crop close to the code if it is small in the frame.
  2. 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.
  3. Read the text. It is shown as text and never opened. Web addresses that look like a disguise get a warning.
  4. 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 isReported straight away; no pass was needed.
Reads after a passThe pass is named: kernel, angle, length.
Never readsSaid plainly, with what to try next.
No reader in this browserThe 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

Photographic visual for Unblur Qr Code
Unblur Qr Code