EndureQR

Printing

QR code not working or not scanning? A troubleshooting checklist

Most scanning problems come down to a handful of causes. Work through this checklist in order to find yours, from the phone to the print to the link behind the code.

Updated · 6 min read

When a QR code will not scan, the cause is usually one of a few things: too little contrast, a code that is too small for the distance, a missing white margin, too much data or a logo that covers too much. If the code scans but nothing useful opens, the problem is the destination: a broken link, or a dynamic code whose subscription has ended. Work through the checklist below in order, starting with the quick checks.

Start here: quick checks on the phone

Rule out the phone first. These checks take a minute and solve many problems.

  1. Clean the camera lens. A fingerprint is enough to blur a small code.
  2. Move back. The whole code and its white border must fit in the frame. Many people hold the phone too close.
  3. Hold still for a second or two. The camera needs time to focus.
  4. Improve the light. Step out of your own shadow, or turn on the torch.
  5. Check the scanning setting. On some phones QR scanning can be switched off in the camera settings. Try the iPhone Code Scanner or Google Lens instead. Our guide on how to scan a QR code lists every method.
  6. Try a second phone. If one phone reads the code and another does not, the code is marginal and worth fixing, because many of your visitors will have the phone that struggles.

Why won't a QR code scan on any phone?

If several phones fail, the design of the code is the most likely cause. Look at the code itself before anything else.

Colour and background

  • Low contrast. Scanners see brightness, not colour. Pale modules, a tinted background or a gradient that fades out can make the code unreadable. Fix: make the modules darker or the background lighter. If the code blends in when you squint, it is too faint.
  • Inverted colours. Light modules on a dark background fail on some phones and scanner apps. Fix: use dark modules on a light background.
  • A busy background. A code printed over a photo or pattern confuses the scanner. Fix: place the code on a plain white or very light box.

Margin, logo and shapes

  • A missing quiet zone. The standard calls for a plain margin 4 modules wide on every side. Text, borders or a crop too close to the code remove it. Fix: restore the margin and keep everything else outside it.
  • A logo that is too big. A logo covers modules and uses up error correction. Fix: shrink it to no more than about 20 to 25% of the code's area, keep it off the corner squares and use level H error correction. The EndureQR generator sets level H automatically when you add a logo.
  • Unusual shapes. Tiny dots, gaps between modules or corner squares redrawn as other shapes can defeat older scanners. Fix: return to square or rounded modules and standard corners.

Our guide to QR code design best practices explains which styling choices are safe.

Check the size and the amount of data

  • Too small for the distance. A code should be about one tenth as wide as the distance people scan from. A code read from 1 metre needs to be about 10 cm wide, and nothing should be much smaller than 2 cm. Fix: print it larger, or put it where people can get closer. See QR code size for printing.
  • Too much data. Long web addresses with tracking parameters, contact cards with every field filled and long passages of text all push the code to a higher version with more, smaller modules. Fix: shorten the link, trim the fields or move the text onto a web page. A dynamic code also helps, because it stores only a short redirect link.
  • A low-resolution file. A small PNG stretched to a large size prints with fuzzy edges. Fix: use an SVG or PDF, or a PNG with about 300 pixels per inch of final width.

Can glare, curves or wear stop a QR code scanning?

Yes. A code that looks fine in the design file can fail once it is printed, laminated, wrapped round a bottle or left in the sun:

  • Glare and lamination. Gloss paper, laminate, plastic sleeves and glass reflect lights straight into the camera. Fix: choose a matte finish, angle the sign or move the light.
  • Curved surfaces. Bottles, cups and pillars bend the grid. Fix: make the code small relative to the curve, place it on the flattest area, or move it to a flat label or tag.
  • Blur and ink spread. Absorbent paper and low-quality printing let ink spread, so small modules merge. Fix: print larger, use a better printer or paper, and check a proof up close.
  • Wear and damage. Scratches, sun fading, dirt, creases and peeling stickers all remove modules. Fix: reprint and protect the code, or move it out of harm's way.
  • Codes on screens. A dim screen, reflections or a code shown too small can all fail. Fix: raise the brightness and show the code larger.

Why does a QR code scan but the page not work?

Because the problem lies with where the code points, not with the pattern. If the phone reads the code and shows a link, the pattern is fine.

  • A broken link. The page was moved or deleted, the address had a typing error, or a PDF was replaced with a file of a different name. Fix: restore the page at its old address or set up a redirect from it. A static code cannot be edited.
  • An expired dynamic code. Some services switch codes off when a trial or subscription ends, so scans land on an error or upgrade page. Fix: renew the plan, or cover the code with a new one. Our guide do QR codes expire? explains how to check. EndureQR dynamic codes keep redirecting even if you cancel.
  • WiFi that will not connect. The code scans but the phone cannot join. The security type may be wrong, the password may have changed, or a special character may not have been escaped with a backslash. Fix: make a new code with the current details.
  • A page that will not load. The page needs a login, is blocked on some networks, or is too heavy for mobile data. Fix: test it on a phone over mobile data and simplify it.

Symptoms and likely causes at a glance

SymptomLikely causeFirst thing to try
The camera does not react at allLow contrast, missing margin, glare or too smallStep back, then check contrast and margin
Works on some phones but not othersA marginal code: dense data, big logo or low contrastSimplify the design and test again
Scans on screen but not when printedPrint size, ink spread, paper colour or glossPrint a larger matte proof
Scans close up but not from where people standToo small for the distanceApply the 10:1 rule and reprint
Scans, then shows an error pageBroken link or expired dynamic codeOpen the link in a browser and check the account
Scans, but WiFi will not joinWrong security type, old password or special charactersMake a new code with current details

FAQ

Quick answers.

Something else? Email hello@endureqr.com and a person will reply within one business day.

Printing adds problems a screen does not have: ink spread, paper colour, glossy finishes and a smaller physical size. Print a proof at the final size on matte paper and test it where it will be used.

Phones use different cameras and scanning software, and some are less forgiving than others. A code that only works on some phones is marginal, so improve the contrast, size or density.

A static code does not change, but the print can wear out and the page it links to can disappear. A dynamic code can also stop if the provider switches it off.

Yes. Print a new code at the same size or larger and stick it squarely over the old one. If it is a dynamic code that still works, you can simply change its destination.

Often, yes. A large logo is a common cause of failed scans. Shrinking it, or testing a version without it, quickly shows whether it is the problem.

Print it once. Keep it forever.

Make your first dynamic code in a minute. If you ever leave, it keeps working.