Skip to content

Why is my QR code not working?

11 min read

A QR code not working almost always comes down to one of three things: the phone can't read it (low contrast, too small, no margin, a big logo), the print distorts it, or the link behind it leads nowhere. Find your symptom below, fix the cause, and test the code before it goes to print.

In short

  • The code must be clearly darker than its background; some apps skip light-on-dark codes.
  • Leave an empty quiet zone of 4 modules around the code.
  • A logo covers modules; error correction makes up for it, but only up to a point.
  • Codes that work on screen but not on paper are usually too small, blurry or glossy.
  • If a code scans but nothing loads, the link or the code provider is the problem.
Contents
  1. 1.Phone side: camera, focus, light
  2. 2.Low contrast and inverted colors
  3. 3.An oversized logo
  4. 4.No quiet zone, too dense, too small
  5. 5.Print problems: blur, texture, glare, curves
  6. 6.The link: dead page, deactivated code, expired trial
  7. 7.How linqr's live scan check catches problems
  8. 8.Questions
Quick diagnosis: why a QR code is not scanning
SymptomLikely causeFix
No code scans at allSmudged lens, poor light, shaky handCheck the phone
Other codes scan, this one doesn'tLow contrast or a light code on a dark backgroundFix the colors
Works without the logo, fails with itThe logo covers too many modulesShrink the logo
Works up close, not from a distancePrinted too small, too dense, or no quiet zoneResize it
Works on screen, fails on paperBlur, texture, glare or a curved surfaceFix the print
Scans, but the page won't loadDead page or missing permissionsCheck the link
Used to work, now shows a provider's pageDeactivated after a trial or subscription endedSee your options

Phone side: camera, focus, light

Before blaming the code, rule out the phone. Google's scanning tips for Pixel phones come down to four checks: hold steady so the camera can focus, scan in good light without shadows or glare, wipe a smudged lens, and move closer while keeping the entire code on screen.

On an iPhone, the Camera app reads QR codes, and so does the Scan Code control in Control Center (Apple's instructions show how to add it). On Android, the built-in camera usually does it, though menus vary by manufacturer. If other codes scan and this one doesn't, the problem is in the code.

Low contrast and inverted colors

A phone looks for the difference between dark modules and a light background, and light gray on white, yellow on cream or navy on black doesn't give it enough. Make the code clearly darker than the background, ideally a dark color on white or a very light tint.

An inverted code (light on dark) looks sharp, but some apps and older readers expect dark modules on a light background and can't read it. You don't control which app your customer uses, so if the design needs a dark background, put the code on a light panel.

In linqr, when the contrast drops below 3:1, the Colours tab shows Not enough contrast with a Fix button, and for an inverted code the scan check offers Swap colours. Colored codes work fine as long as they keep the contrast; see can QR codes be any color.

A logo hides some modules. The code survives thanks to error correction: at the highest level it can recover about 30% damage, but a logo that covers more of the center goes past that. Never cover the three corner squares: that's how the phone finds the code.

In linqr, Error correction on Auto switches to the highest level when you add a logo, and you set Logo size and Space around the logo in the Logo tab. If the logo covers too much, the scan check suggests Make logo smaller. More tips on our QR code generator with logo page.

No quiet zone, too dense, too small

Quiet zone. A code needs an empty border so the phone can tell where it starts. DENSO WAVE, the company that invented the QR code, calls for a margin four modules wide on all sides, so don't let anyone crop it. In linqr, keep Margin (quiet zone) in the More tab at 4; the scan check can also suggest Add more margin.

Density. A static code stores the whole URL, so a long address, say with UTM tags, makes a dense code with tiny modules that stops scanning at small sizes. A linqr code always holds a short redirect link, so without a logo it has 25 × 25 modules (29 × 29 with one), however long your destination is.

QR code that opens this guide
This code holds the full address of this guide (76 characters), so it has 37 × 37 modules. Scan it: if this page opens, your phone's camera is fine.

Size. A code 4 inches wide on your monitor may end up 0.4 in on a business card, with modules under 0.02 in (0.5 mm). The rough minimum is 0.8 × 0.8 in (2 × 2 cm) at arm's length; farther away, about one tenth of the scanning distance. Our QR code size guide has a table for every medium.

Print problems: blur, texture, glare, curves

Glossy lamination, window glass and shiny labels reflect light, hiding part of the code in the glare. Curved surfaces like bottles, mugs or a folded flyer distort the squares. Blurry printing on absorbent paper or fabric makes neighboring modules bleed together.

  • Glare: matte lamination or matte stickers, placed out of the reflection of overhead lights.
  • Curves: a flat label, or a smaller code on a narrow side so it bends less, but not below 0.8 in.
  • Blur: a larger code, simple square modules and a vector file for the printer.

The code scans, but the page shows a 404, a blank screen or a login prompt. That's the page, not the code. Typical reasons: the page was removed or moved, a cloud file isn't shared with anyone who has the link, the link points to a dashboard only you can see, or the domain or its HTTPS certificate expired.

If a code that used to work now shows the provider's page asking you to pay, a generator shut off a dynamic code after a free trial or when a subscription ended. The printed code still points at that provider's server, so only they can turn it back on; otherwise you need a new code and a reprint. linqr codes have no expiry date and the Free plan has no trial; more in do QR codes expire.

A linqr code can also show one of our status pages: “This code is temporarily disabled” (the owner paused it, and Resume fixes that), “This code is no longer active” (deleted or blocked) or “We couldn't find this code” (the link was mistyped). If a destination looks suspicious, read are QR codes safe. If your linqr code fails for a reason not listed here, contact linqr with its short link.

How linqr's live scan check catches problems

The design problems on this list can be caught before you print. linqr is a free QR code generator that reads your preview with a real decoder, the way a phone does, and shows the result next to it: Scans correctly, or This code may be hard to scan with the reason.

  1. Paste your link and style the code

    Use the Colours, Shapes, Logo and Frame tabs.

  2. Read the scan check

    Next to the preview you'll see Scans correctly or a warning with the cause, such as low contrast.

  3. Click the suggested fix

    Fix contrast, Swap colours, Make logo smaller, Add more margin or Raise error correction. Undo reverts it.

  4. Print a proof and scan it

    The check covers the design, not the paper: size, material and the link need a real print and a real phone.

Check your code before you print it

Paste a link and watch the scan check. You can change the link even after printing.

Get a QR code

Questions

Why won't my iPhone scan a QR code?

Open the Camera app, hold the phone steady so the whole code is on screen, and tap the link that appears; you can also add the Scan Code control to Control Center. Wipe the lens and find better light. If other codes scan and this one doesn't, check the code's contrast, size and quiet zone.

Why does my QR code work on screen but not when printed?

Printing changes size, sharpness and surface. A code that looked big on your monitor may be printed too small, ink may blur on absorbent paper, or glossy lamination may reflect light. Print the code at least 0.8 in (2 cm) wide, keep the quiet zone, use a vector file and choose a matte finish.

Can a logo break a QR code?

Yes, if it covers too much of the code. Error correction rebuilds hidden modules, but even at the highest level it recovers only about 30% of the code. Keep the logo modest and away from the corner squares. linqr raises error correction automatically when you add a logo and warns you when the logo is too big.

Why did my QR code suddenly stop working?

If nothing changed on the print, something changed behind the link. The page may have moved or been deleted, a shared file may have lost its sharing permission, or the provider may have deactivated a dynamic code after a trial or when a subscription ended. Scan the code and read what opens: that tells you which it is.

How do I test a QR code before printing?

Look for Scans correctly in the creator, then print a proof at the final size on a regular printer. Scan it with an iPhone and an Android phone, from the distance customers will use, in normal lighting. Finally, open the link on cellular data while logged out, the way a customer will see it.

Why does my QR code open the wrong page?

Usually the code points to an old or mistyped address. With a static code, the address is fixed in the pattern and only a new code or a server redirect fixes it. With a linqr code, open My codes, check where it points and use Change link. If you just changed it, scan again: linqr redirects without caching, so the next scan goes to the new page.

Why won't my Android phone scan a QR code?

On most Android phones, the camera app or Google Lens reads QR codes, but the option sits in different places depending on the manufacturer, and on some phones it has to be switched on in the camera settings. Also check the basics: a clean lens, steady hands, good light and the whole code on screen. If other codes scan, look at the code itself.

Why does my QR code say “This code is temporarily disabled”?

That's linqr's page for a paused code. The owner, or someone with access to the account, chose Pause or turned off the Code active switch. Open My codes, find the code and choose Resume, and the next scan opens the destination again. If you don't own the code, contact the business that printed it.

Why does my QR code scan on some phones but not others?

The code is borderline, and better cameras or apps cope while others don't. Common causes: a light code on a dark background, which some apps skip; low contrast; a code printed too small; or a logo close to the error correction limit. Make it darker on a lighter background, bigger or with a smaller logo until it scans on an older phone too.

Why won't a QR code scan from a screen or a projector?

Screens add glare, flicker and a moiré pattern, and a projected code is often too small for the back of the room. Turn the screen brightness up, avoid reflections and make the code large: about one tenth of the distance to the farthest seat. Leave it on screen long enough, and put the web address next to it for anyone who can't scan.

Can a scratched or partly damaged QR code still scan?

Often yes, thanks to error correction. At the highest level a QR code can rebuild about 30% of its modules, so a scratch or a small stain may not matter. Damage to the three corner squares is worse, because phones use them to find the code. In linqr, Error correction on Auto picks the highest level when you add a logo.

Sources

  1. Apple Support: Scan a QR code with your iPhone or iPad,
  2. Pixel Phone Help: Scan QR codes with your Pixel phone,
  3. DENSO WAVE (inventor of the QR code): Point for determining the code area,