01 · Quiet zone
The quiet zone was cropped away.
A QR code needs a clear margin of at least four modules on all four sides. Crop inside it and decoders lose the boundary that tells them where the code begins.
Recover the exact content from a QR image that has gone blurry, been cropped, or survived a screenshot — then rebuild a clean code you can actually scan.
Your browser does the whole job: image processing, error correction, and rebuilding. No image is ever uploaded.
Drop a QR image here
— or paste from your clipboard (Ctrl+V)
— or
— or
Runs in your browser. There is no upload step.
A QR code carries its own error correction. When part of the pattern is damaged, the surviving modules can mathematically restore what was lost — but only up to a limit, and only if the damaged area is genuinely recoverable.
What we will not do is fill in a plausible-looking answer. If the payload cannot be read exactly, this tool says so, and tells you which measurable problem got in the way.
A code that scans to the wrong URL is worse than one that does not scan at all — especially when it points at a shipping label, a ticket, an invoice, or a product code.
Everything on this page runs in your browser: decoding, image processing, error correction, and rebuilding. There is no upload step.
You can confirm it yourself — open your browser’s network panel and try any image. No request carries your file.
This matters more than it sounds. The QR codes people most need repaired are the ones they cannot replace: waybills, delivery labels, receipts, boarding passes, medical packaging, internal inventory tags. A repair tool that uploads your image is asking you to hand over the very document that broke.
01 · Quiet zone
A QR code needs a clear margin of at least four modules on all four sides. Crop inside it and decoders lose the boundary that tells them where the code begins.
02 · Contrast
Two colours can look clearly different to you and nearly identical to a scanner reading luminance. Dark blue on black reads as one shade.
03 · Resolution
A screenshot, a chat app, or an aggressive JPEG export shaves the edges off every module. At a couple of pixels per module, there is nothing left to threshold.
04 · Finder pattern
The three square markers in the corners are how a scanner locates and orients the code. Cover any one of them — with a sticker, a fold, a fingerprint — and no amount of enhancement will help.
05 · Error correction
QR codes are built at one of four levels: L ≈ 7%, M ≈ 15%, Q ≈ 25%, H ≈ 30% of the code can be lost and still recovered. A code made at L has very little room.
If your image falls into the last two groups, recovery is genuinely unlikely — and we would rather tell you that before you spend time on it.
One half in shadow is worse than dim but flat light.
Perspective can be corrected afterwards, but every degree of tilt costs you precision.
Each module needs to occupy several pixels. From across the room you are photographing a mosaic, not a code.
We can work with a soft image, but a sharp original succeeds far more often.
And if you still have the original file — use that instead of a photo. It is the single biggest thing you can do for your own success rate.
Sharpening a damaged QR image makes it look better to you and worse to a scanner. The edges between modules are the data. Filter them, and you filter the payload.
Rebuilding takes the opposite route: read the payload exactly as it is, then draw a brand-new code from that payload. The result is not a repaired photograph — it is a correctly generated QR code that happens to carry the same content.
A rebuild that looks right but carries one wrong character is a silent failure. We verify the payload before we draw anything.
The PNG and SVG downloads are generated at full resolution. Screenshotting the preview reintroduces exactly the compression damage you came here to fix.
Scan the rebuilt code on screen, then print a small test copy at the final size before you commit it to a label, a poster, or a product run.
Run a local decode and measurable image checks on the code you just rebuilt.
Estimate a practical width from the payload and the scanning distance.
Posters, cards, table tents, stickers.
In order of how often we see it: a missing quiet zone, an error-correction level set too low, a contrast that collapses in greyscale, modules too small after re-saving, or a damaged finder pattern. The tool reports which one applies to your image.
Not by sharpening the picture. A decoder does not read a QR code the way your eye does — it samples module centres, not edges. The reliable route is to recover the payload from the damaged image and generate a fresh code from it, which is what this page does.
Often, yes — especially if the screenshot was taken at a reasonable size. Re-compression eats into module edges, so success rates are lower than with an original file. Pasting straight from your clipboard is the fastest way to try.
No. Decoding, error correction, and rebuilding all happen in your browser. Your image is never sent to a server, and you can verify that in your network panel.
It depends on the level it was generated at: L ≈ 7%, M ≈ 15%, Q ≈ 25%, H ≈ 30% of the code can be lost and still recovered. If more than that is gone — or if a finder pattern is destroyed — the data is genuinely not there to recover.
Versions 1 through 40, which covers everything from a 21×21 module code up to 177×177. Micro QR codes are not supported.
You get a diagnosis rather than a dead end: which of the five failure causes we detected, plus four manual controls — brightness, contrast, threshold, and rotation — to try against a borderline image. If it still fails, the image most likely does not contain enough recoverable data, and we would rather say that than invent a payload.
Scan it on screen first. Then print a single copy at the final size and scan that — module size, ink spread, and substrate all affect the result. Keep a margin of at least four modules around the printed code.