Skip to content

Guide

QR code not scanning: finding and fixing the cause

A QR code that does not work has rarely been generated wrongly. Usually it is the print, sometimes the content, occasionally the phone. Three questions narrow down where you need to look.

Last updated:

First question: does it work on screen?

Open the file, the PNG or SVG, on your computer and scan it from the screen. That takes ten seconds and separates the two big sources of trouble:

When the print is the problem

Too small for the distance

The single most common reason. Read from two metres, a code with 25 modules needs around 20 centimetres, a denser one considerably more. The size calculator tells you how big your code needs to be.

The quiet zone is gone

The light border, four modules wide, is part of the code. In layout software it is easy to align the code by its pattern rather than by the file and crop the border off, or to let a heading creep too close. The pattern is then flawless and still unreadable.

Reflections

Glossy paper, laminating film and glass throw highlights that swallow whole areas of the camera image. A simple test: hold the phone at a slight angle. If it works then, the reflection is to blame. Matt film or anti-reflective glass solves it.

Curved surfaces

On bottles, cups or pipes the curve distorts the pattern. The smaller the code relative to the curvature, the better. Or it goes somewhere flat, on the label rather than on the bottle.

Blurred or bleeding print

A small PNG scaled up for print has soft edges. On absorbent paper such as newsprint or brown paper the ink runs into the light gaps and the dark modules merge. So use SVG for print, print a little larger on absorbent paper and set the error correction one level higher.

Shrunk when printing

The “Fit to page” setting in the print dialog scales the whole sheet, and the code comes out smaller than planned. For test prints always choose “Actual size” or “100%”.

When the pattern is the problem

Light modules on a dark background

Scanners expect dark modules on a light background. An inverted code, light on dark, is allowed by the standard, but not every scanner copes with it, especially older devices and some scanner apps. Such codes then work “only for some people”. Our generator warns you if you pick the colours that way round.

Too little contrast

Coloured codes are fine as long as the difference stays clear. Dark teal on cream works, mid grey on beige does not. Gradients in the pattern and photos as a background throw almost any scanner off its stride.

Something covers the pattern

A logo in the middle, a sticker, a crease. Error correction absorbs some of this, but not an unlimited amount. What a logo costs is explained in the article on error correction.

Too much content

The more characters, the finer the pattern. Beyond a certain density even a good camera can no longer cope. Long texts belong on a web page, and only the link goes into the code.

Designer codes

Round dots, decorated corners, coloured areas: codes like these look good, but every departure from the square module makes them harder to recognise, especially for older devices. If you do go for a designed code, test it thoroughly on several phones.

When the code scans but the wrong thing happens

What happensLikely cause
Only text appears instead of a web page. The address is in the code without https://, and some scanners then take it for text. Our generator adds it for you.
The page does not exist. A typo in the address, or the page has moved. Actually open the destination on the phone instead of stopping once the code is recognised.
An unrelated page appears, or “Code deactivated”. A dynamic code from a provider whose trial or subscription has expired. See Dynamic QR codes.
The phone does not join the Wi-Fi. A mistyped password, the wrong security type or a network name that was not copied exactly. Upper and lower case matter. More on the Wi-Fi QR code page.
The banking app rejects the transfer code. Usually a faulty IBAN or an account outside the SEPA area. Our generator checks both as you type. See QR code for bank transfers.
The maps app shows the wrong place. The code only holds an address, and the search finds a different match. With coordinates the pin lands exactly. See Location QR code.

When the phone is the problem

  • The camera does not recognise codes. On the iPhone, scanning can be switched off in the camera settings. On Android it depends on the manufacturer, and the feature often sits in the camera app’s settings or in Google Lens.
  • The lens is smudged. Sounds trivial, but it happens a lot. Give it a wipe.
  • Too close. Phone cameras only focus from a few centimetres away. Stepping back a little helps more often than moving in closer.
  • Too dark. The torch helps, but not on shiny surfaces, where it becomes a reflection itself.

To rule out the phone as the cause, try a second device. If that one reads the code, the first one is the problem.

The checklist before the print run

  1. A test print at full size, with “100%” in the print dialog.
  2. Test with two devices, an iPhone and an Android phone, one of them older.
  3. From the real distance and in the light at the place where the code will be used.
  4. Actually open the destination and check that the right page appears.
  5. Check that the quiet zone is clear and nothing intrudes into it.
  6. Print the address legibly next to the code, for everyone who cannot or does not want to scan.

That costs a quarter of an hour. A mistake that only shows up after printing costs the whole print run.

Advertisement

More from the guide