Why is my QR code blurry or not scanning?

Diagnose QR code scanning failures by checking the original image, surrounding margin, contrast and the final printed or displayed version.

Last updated

Start by separating two failures: a phone can’t recognise the QR code or it recognises the code but the destination doesn’t work. Sharpening an image won’t repair a broken address. Changing the link won’t fix a symbol that’s too blurred to decode.

Test the original image

Use QR Code Scanner to inspect the original downloaded code. Compare its decoded content with the address or message you intended. Don’t rely on how a caption under the code is written because the caption and encoded content can differ.

If the original works but a screenshot doesn’t then the problem happened during copying or resizing. Return to QR Code Generator and save a fresh copy rather than taking another screenshot of the damaged version.

Leave clear space around every edge

A QR code needs a clear border called the quiet zone. For a standard QR symbol DENSO WAVE specifies a margin four modules wide on all sides. A module is one of the small square units making up the code. DENSO WAVE’s size guidance explains that requirement.

Keep nearby text and borders outside this area. A neatly cropped image that removes the margin can be harder to recognise than the slightly larger original. If the code sits on a patterned background then give it a plain light panel with enough breathing room.

Preserve sharp square edges

Stretching a small image can turn straight module boundaries into grey smudges. Export at a suitable size for the final placement instead of enlarging a tiny copy. Preserve the square shape rather than squeezing it into a narrow layout box.

Use strong contrast between the dark modules and the light background. A design that looks attractive on a bright monitor may lose contrast on inexpensive paper or under dim lighting. Avoid gradients and translucent backgrounds when reliability matters more than decoration.

Test the finished object

Print one example at the size you intend to use. Scan that print from a realistic distance with more than one phone if you can. Check it under ordinary lighting rather than only beneath a desk lamp.

For a code displayed on a screen try the actual device at the brightness you expect people to use. Reflections and a cracked screen can interfere even when the saved image is fine. The successful scan of the source file doesn’t test those conditions.

If the code opens the wrong thing

Inspect the decoded text before following the link. Look for a mistyped domain or an address that only works while you’re signed into a private account. Try the intended destination in a separate browser session.

Replace a static code if its encoded address is wrong. Changing the text printed beside it doesn’t alter the destination. Keep a saved copy of the final artwork and record which address it encodes so future reprints don’t accidentally use an older version.

Common questions

Is a bigger QR code always easier to scan?

Increasing the physical size can help when the modules are too small but enlarging a blurry screenshot won’t restore sharp edges. Return to the original generated file whenever possible.

Why does the code scan but the link fail?

Decoding the QR image and opening its destination are separate steps. Inspect the decoded address for mistakes and then check whether that address loads directly in a browser.

Can a logo cover part of the code?

A logo removes information from the symbol. Error correction offers some tolerance but it isn’t permission to cover an arbitrary area. Test the final design and prefer an unobstructed code for important uses.

Tools for this

More guides