ONLINE TOOLSZ
Back to Archive
10/10/2026
7 Min Read
Master Online Toolsz

Why is my QR code not scanning? Causes and fixes that actually work

Why is my QR code not scanning? Causes and fixes that actually work

When a QR code will not scan, the problem is almost never the phone. In most cases it is one of five things: the code is printed too small for the distance, the contrast is too weak, the blank border around it has been cropped or crowded, a logo or design element covers too much of the pattern, or the link inside it is wrong. Each of these can be checked in a few minutes, and most can be fixed without changing anything except the artwork.

Below is the order I work through when someone hands me a flyer, label or menu with a code that "just doesn't work". Start at the top; the early checks catch most failures.

First, work out what kind of failure you have

"Not scanning" covers three different situations, and each points to a different cause.

  • The camera does not react at all. No frame around the code, no link preview. This is a physical problem: size, contrast, quiet zone, glare, damage, or a design that hides the corner squares.
  • The camera reads the code but opens the wrong thing or an error page. The code itself is fine. The data inside it is wrong: a typo in the URL, a page that has since moved, or a page that needs a login.
  • It works on one phone but not another. The code is borderline: dense, small or low in contrast. Newer phones with better cameras cope; older ones do not. Treat this as a design problem, not a phone problem.

Cause 1: The code is too small for the scanning distance

A widely used rule of thumb is that a QR code's width should be about one tenth of the scanning distance. Someone holding a flyer at 25 cm needs a code roughly 2.5 cm wide. A poster read from 2 metres away needs something closer to 20 cm. For anything held in the hand, treat 2 × 2 cm as the practical minimum, and go larger if the code contains a long link.

The quickest test: print the page at actual size, stand where a real person would stand, and scan. If you have to step closer, the code needs to grow.

Cause 2: Too much data packed into the pattern

Every character you put into a QR code adds modules, the small dark and light squares. A short homepage address produces a clean, open pattern. A 200-character link full of tracking parameters produces a dense grid of tiny squares that blurs when printed small. If your code looks like grey static from arm's length, shorten what it contains: remove unnecessary parameters, use a shorter page path on your own site, or link to a simple landing page instead of a deep URL.

Cause 3: Weak contrast or inverted colours

Scanners look for dark modules on a light background. Navy on white works. Light grey on white, red on dark green, or a code laid over a photograph often does not. Two specific traps:

  • Inverted codes, with light modules on a dark background, are not read by every scanner app. If your brand style demands a dark background, put the code on a white panel.
  • Gradients and textures inside the modules confuse the camera. A flat, single colour is safer.

Cause 4: The quiet zone has been cropped or crowded

The blank margin around a QR code is part of the code. The QR standard calls for a margin four modules wide on every side. Designers often trim it to save space, or place a border, text or another graphic right against the edge. Without that margin the scanner cannot tell where the code starts. The Online Toolsz QR Code Generator includes the margin in the downloaded PNG, so the simplest rule is: do not crop the image, and keep other elements outside that white border.

Cause 5: A logo covering too much of the pattern

QR codes include error correction, which lets a scanner rebuild missing data. That is what makes a centre logo possible, but there is a limit. If you add a logo, set error correction to H, the highest level, keep the logo small, and never let it touch the three large corner squares. In our generator the logo is drawn at a fixed pixel size, so on a small size setting it takes up a larger share of the code. Raise the size slider when you use a logo, and scan the preview before you download it.

Cause 6: Print and surface problems

  • Glare. Gloss lamination and shiny stickers reflect light straight back at the camera. Matte finishes scan far more reliably, especially under shop or restaurant lighting.
  • Curves and folds. A code wrapped around a cup or printed across a fold distorts the grid. Place it on a flat area, or keep it small relative to the curve.
  • Stretching. If someone resized the image in a layout program without keeping the proportions, the squares become rectangles. Always scale with the aspect ratio locked.
  • Blurry export. Re-saving the code as a low-quality JPEG or enlarging a tiny PNG produces soft edges. Generate it at a larger size instead of stretching a small file.
  • Wear. Codes on tables, floors and doors get scratched. Replace them when the corners start to fade.

Cause 7: The code works, but the link does not

If the phone shows a preview but people land on an error, the code is doing its job. Check the destination:

  • Open the exact link in a private browser window where you are not signed in. Drafts, admin previews and shared documents with restricted access often work for you and nobody else.
  • Look for typos, such as a missing letter or a wrong domain ending.
  • Check whether the page was moved or renamed after the code was printed.

A static code always points to exactly what you typed. If you expect the destination to change, read static vs dynamic QR codes for small business before reprinting.

Quick troubleshooting table

SymptomMost likely causeFix
No reaction at normal distanceCode too small or too denseEnlarge it, or shorten the link
Scans only very close upSize does not match distanceUse the one-tenth rule
Scans on new phones onlyLow contrast or tiny modulesDarker colour, larger print
Fails after adding a logoLogo too large or error correction too lowLevel H, smaller logo, bigger code
Fails under lightsGlare from a gloss finishMatte paper or lamination
Opens an error pageWrong or restricted linkTest in a private window

How to test properly before you print again

  1. Regenerate the code from a clean, checked link.
  2. Print one copy at the real size on the real paper or label stock.
  3. Scan with at least two phones, ideally including an older model, using the built-in camera app.
  4. Scan from the real distance and angle, under the lighting where the code will be used.
  5. Only then send the full batch to the printer.

For specific numbers on size, margin and error correction levels, see the QR code size and error correction guide.

FAQ

Can a QR code stop working over time?

A static QR code does not expire; the pattern contains the link directly. It stops working when the page it points to disappears, or when the printed copy is damaged or faded.

Why does my QR code scan on screen but not on paper?

Screens are bright and sharp, so they hide weaknesses. Paper adds blur, ink spread, glare and lower contrast. A code that is borderline on screen will often fail once it is printed small.

Does the colour of the QR code matter?

Contrast matters more than colour. Dark blue, dark green or deep purple on white can scan well. Pale colours, and light codes on dark backgrounds, are where trouble starts.

Can I fix a code that is already printed?

Sometimes. If the quiet zone is crowded, a white sticker border can help. If the code is too small or the link is wrong, the only reliable fix is a new code and a reprint, which is why testing a single proof first saves money. Design for the phone's built-in camera app rather than a dedicated reader, since that is what most people will use.

Need more tools?

Our suite of client-side PDF tools is free and always will be.

Try our tools
Why Is My QR Code Not Scanning? Causes and Real Fixes | OnlineToolsz