Blurry QR Code Reader

Got a blurred or low-quality QR code that your phone won't scan? Add a photo or screenshot. The tool cleans it up in several ways, tries to decode each version and shows you what the code says. It can also redraw the code sharp.

  1. 1Add the image
  2. 2Read it
  3. 3Get a clean copy

1Add the QR code image

or drop an image here, or paste a screenshot with Ctrl/Cmd+V

Your image never leaves your device. All the clean-up and decoding runs in your browser. We count visits and finished downloads (tool name only) with analytics that sets no cookies.

2What the code says

Add an image to read it

How it reads a blurry QR code

A phone scanner looks at the picture once, as it is. This tool makes up to 18 cleaned-up versions of your image and tries to decode each one, with two different decoders, until one works:

  • Grayscale and contrast stretch, so faded or dark photos use the full range from black to white.
  • Sharpening and deblurring (unsharp mask and a deconvolution that guesses how wide the blur is) to pull soft edges back into squares.
  • Adaptive threshold: every pixel is set to black or white compared with its own neighbourhood, which copes with shadows and uneven light.
  • A slight blur first for grainy, noisy photos, so the speckle doesn't break up the squares.
  • Scaling up ×2 or ×3 for tiny codes, and down for large, soft photos.
  • Inverting for light codes on a dark background.
  • Your selection: drag a box around the code so the decoders only look at that part.

It shows the text only when a decoder has read the code and its built-in error check has passed. It never guesses missing parts. If nothing can be read, it says so.

How well it works: our test

We made 40 real QR codes (web links, Wi-Fi logins and text, at all four error correction levels), damaged copies of them in known ways, and counted how many could be read. The first two columns are a single scan of the unchanged image by one decoder on its own: jsQR 1.4.0, and ZXing (zxing-cpp, through zxing-wasm 3.1.6, with its "try harder" option on). This tool runs both of them, on the image as it is and on cleaned-up versions.

DamagejsQR aloneZXing aloneThis tool
Clean code (no damage)40 of 4040 of 4040 of 40
Slight blur (a quarter of a square)40 of 4040 of 4040 of 40
Blur of half a square0 of 4020 of 4040 of 40
Blur of half a square, dim and unevenly lit0 of 400 of 4040 of 40
Blur of three quarters of a square or more0 of 400 of 400 of 40
Strong JPEG compression (quality 5 to 20)40 of 4040 of 4040 of 40
Blur of half a square plus strong JPEG compression0 of 400 of 401 of 40
Grainy photo (heavy noise)0 of 400 of 4040 of 40
Very grainy photo0 of 400 of 4030 of 40
Grainy and blurred by half a square0 of 400 of 400 of 40
Photographed at a 50° angle28 of 4032 of 4032 of 40
Photographed at a 60° angle0 of 4032 of 4032 of 40
45° angle and blurred by half a square0 of 401 of 4032 of 40
Tiny: 1.5 pixels per square31 of 4040 of 4040 of 40
Tiny: 1.2 pixels per square3 of 4011 of 4035 of 40
Phone-like photo: light blur, grain, JPEG, 20° angle23 of 4040 of 4040 of 40
Phone-like photo: more blur, grain, JPEG, small0 of 400 of 400 of 40

Test run on 27 Oct 2026 in Chromium. Blur is a Gaussian blur measured in QR squares ("modules"). No result was ever a wrong text: when the tool couldn't read a code, it said so. Real photos can be harder than these test images.

Tips when it can't read your code

  • Take a new photo if you can. Clean up can only do so much: a sharp photo beats any fix. Hold the phone steady, tap to focus on the code, and step back a little if it's too close to focus.
  • More light, no glare. Light the code evenly and tilt the phone to get rid of reflections on glossy paper or screens.
  • Crop to the code. Drag a box around just the code. Include a little of the white border around it.
  • Use the original file. A screenshot of a screenshot, or a photo sent through a chat app, loses detail each time.
  • Face it straight on. A steep angle squeezes the squares at the far side.

FAQ

What to do if a QR code is blurry?

First try a better photo: more light, a steady hand, and let the camera focus. If that isn't possible, for example because you only have a blurry screenshot, add it here. The tool sharpens, deblurs and cleans the image in several ways and tries to decode each version. If it reads the code, you get the text and can download a sharp new copy.

How can I decode a blurry QR code?

Choose the image above, or paste it. Decoding starts by itself. If the picture shows more than the code, drag a box around the code and press Read selected area. The decoded text appears on the right, with a link if it's a web address.

Can it fix any blurry QR code?

No. If the blur is so strong that neighbouring squares have melted into each other, the information is gone and no tool can bring it back reliably. In our test it read codes blurred by about half a square, but not codes blurred by three quarters of a square or more. It will never invent text: it only shows a result that passed the code's own error check.

Why won't my QR code scan?

The usual reasons are blur from movement or focus, low light, glare, a photo taken at a steep angle, a code printed too small, or low contrast between the code and its background. Light codes on dark backgrounds also confuse many scanners. A damaged code can still scan: QR codes carry error correction that lets them be read even when part of the code is dirty or damaged.

Is the clean copy the same QR code?

It holds the same text, so it opens the same link or shows the same message. The pattern can look different, because it's made fresh with the error correction level you pick. If the original was a short or tracking link from a QR service, the copy points to that same link, so it only works while that service keeps the link alive.

Is it safe to open the link in the code?

The tool never opens a link by itself. It shows the address so you can check it first. Only open it if you trust where the code came from, and look closely at the address: QR codes on stickers, parking meters and unexpected emails are sometimes used to send people to fake login or payment pages.

Does this tool upload my image?

No. The image is read, cleaned and decoded by your browser on your own device, and the camera picture stays there too. Nothing is sent to a server. The page counts visits and finished downloads (tool name only) with analytics that sets no cookies, and no file data is ever sent (see privacy).

More free tools