🔧 Troubleshooting

My QR code is not working: the most common causes

By The QRyx team · ⏱️ 10 min read ·

The phone aims, hesitates, and nothing happens. Or worse: it opens an error page. A QR code that does not work is rarely a mystery — in the vast majority of cases, the cause belongs to a short, well-known list. Here are the six reasons behind almost every failure, why they make the scan fail, and how to avoid them before you send anything to print.

In short

  • There are two families of failure: the phone cannot read the code (an image problem), or it reads it but the page does not open (a destination problem).
  • The most common reading causes are contrast that is too low, a code too small for the distance, a cropped white margin, an oversized logo and a surface that reflects light.
  • Rule of thumb: the side of the QR code should be at least one tenth of the scanning distance, and never less than 2 cm.
  • A printed QR code does not wear out as such, but its destination can disappear: a redesigned website or a discontinued service is enough to make it useless.
  • Testing on several phones, at the real distance and on a printed proof, prevents almost every reprint.

First, isolate the problem: the code or the page?

Before looking for the cause, you need to know where the chain breaks. A scan happens in two steps: the phone decodes the image to extract a text (usually a web address), then it opens that address. Each step has its own failures.

  • The phone does not react, or never offers to open a link: this is a reading problem. The image itself is at fault — contrast, size, margin, logo, surface.
  • The phone does offer a link, but the page shows an error, stays blank or leads somewhere unexpected: this is a destination problem. The code is perfectly readable; what it points to no longer responds.
Six thumbnails of faulty QR codes: contrast too low, code too small for the distance, cropped white margin, oversized logo, glare on a glossy surface, and a link leading to a 404 error page. 1. Contrast too low Colours too close: the phone cannot tell them apart. 3 m 2. Too small or too far The code takes up too few pixels in the camera image. correct margin 3. Quiet zone cropped Without a light border, the code blends into its setting. LOGO 4. Logo too large It hides more than error correction can repair. 5. Glare, curved surface Glossy plastic, a bottle: some modules vanish. 404 6. Dead link behind it The code reads fine, but the page no longer exists.
The six causes behind the vast majority of QR codes that do not work: five prevent reading, the last one makes it pointless.

1. Contrast that is too low

A QR code reader does not see colours: it sees light areas and dark areas, and must decide for each small square (each “module”) which one it is. The closer the two shades, the more of a gamble that decision becomes — especially in poor lighting or with an entry-level camera.

  • Pastel colours or light greys on a white background are the most frequent cause: elegant on screen, unreadable on paper.
  • A light code on a dark background (“inverted”) is read by most recent phones, but not by some older or industrial readers. Dark on light remains the safe rule.
  • Two bright colours of similar brightness (red on green, blue on purple) may work in colour and collapse once photocopied in black and white.

Contrast can be measured: it is the brightness ratio between the light shade and the dark shade. Black on white reaches 21:1; below 4:1, reading becomes genuinely hit-and-miss, and above 7:1 you have a comfortable margin, even at small sizes or in low light.

2. A code too small for the scanning distance

What matters is not the absolute size of the QR code, but the number of pixels it occupies in the photo taken by the phone. A 3 cm code is read effortlessly on a table; the same code stuck on a shop window and aimed at from the pavement covers only a handful of pixels, and each module becomes indistinguishable.

A rule of thumb widely used by printers: the side of the QR code should be at least one tenth of the distance from which it is scanned. It is not a standard, but it is a good starting point:

  • Business card or flyer, read in hand at 20-30 cm: 2 to 3 cm per side.
  • Table tent or menu, read at 40-50 cm: 4 to 5 cm.
  • Poster or shop window, seen from 1 to 2 metres: 10 to 20 cm.
  • Outdoor sign read from the pavement or a stopped car, at 3-5 metres: 30 to 50 cm.

The length of the content matters too. The longer the encoded address, the more modules the code contains — and, at the same printed size, the smaller each module. A 150-character address full of tracking parameters produces a dense, fragile code; a short address, like that of a dynamic QR code, produces an airy code that can be read from further away.

3. A cropped white margin

Every QR code needs a light, empty border around it, called the “quiet zone”. It is what lets the phone understand where the code starts and where it ends. The standard that defines QR codes (ISO/IEC 18004) requires a margin at least four modules wide on all four sides.

This margin disappears more often than you might think: a designer finds it unsightly and removes it, a decorative frame is placed right against it, the guillotine trims it at print time, or the code is set on a busy photo or pattern. In all these cases, the edges of the code merge with the background, and the phone can no longer tell where it ends.

4. A logo or design that is too ambitious

If you can place a logo in the middle of a QR code, it is thanks to error correction: part of the code is redundant, so it stays readable even when a portion is hidden or damaged. Four levels exist, which can rebuild roughly 7%, 15%, 25% or 30% of the data depending on the chosen setting.

The problem arises when the logo hides more than error correction can repair, or when it spills over areas that nothing can make up for:

  • The three large squares in the corners (the position markers): without them, the phone cannot find the code. They must never be covered or heavily distorted.
  • Very fanciful module shapes (tiny dots, stars, patterns) reduce the dark surface of each module and make reading more demanding.
  • A logo without a white margin around it merges with neighbouring modules and “eats” more data than its actual size.

5. The surface and the reading conditions

A perfectly designed code can fail because of what it is printed on, or where it is displayed:

  • Glare: glossy lamination, a pane of glass or a screen under a spotlight throws back a white patch that erases part of the modules. Matte is almost always preferable.
  • Curved surfaces: on a bottle, a cup or a post, the code distorts and its edges leave the frame. Better to place it on the flattest part, or make it smaller.
  • Blurry printing: a low-resolution QR image that has been enlarged, or paper so absorbent that the ink bleeds, produces soft module edges that the phone misreads. A vector file (SVG, PDF) avoids this trap.
  • Outdoor wear: sunlight fades inks, rain warps paper. A code displayed outside for months gradually loses its contrast.
  • Lighting: a code placed in a dark corner, or backlit behind a shop window, reads far less well than the same code under clear light.

6. The code reads, but the destination no longer responds

This is the most frustrating failure, because the code itself is flawless. The phone reads it instantly… and opens an error page, a blank page or a site that has nothing to do with it any more. The usual causes:

  • The website was redesigned and the page address changed, with no redirect from the old one.
  • A typo slipped into the address when the code was created, and nobody tested it before printing.
  • The code was created with a service that deactivated it at the end of a free trial or a subscription — a widespread practice, often discovered by customers before the business owner.
  • The destination page works on a computer but not on mobile: too heavy, blocked by a cookie pop-up, or restricted to a logged-in account.

With a static QR code, the address is baked into the image: the only fix is to reprint. With a dynamic QR code, the printed code points to a relay you control; you simply correct the destination, and every item already printed works again immediately. It is often the difference between a thirty-second update and a full reprint.

What if it is the phone?

It is rarer than people think, but it happens. A dirty or scratched lens blurs the image — a wipe with a cloth often solves the problem. On iPhones, the camera has read QR codes natively since 2017, as do the vast majority of recent Android phones; on an older model, you sometimes need Google Lens or a dedicated app. Finally, a third-party scanning app that has been denied camera access obviously cannot read anything.

If the code only works on some phones, do not be too quick to blame them: it is the sign of a code on the edge of readability. Your customers will not try again with another device.

Prevent rather than reprint

Almost all these failures can be caught in a few minutes, provided you test in real conditions rather than on the computer screen that has just generated the code:

  1. Print a proof at actual size, on the actual paper. A QR that reads on a 27-inch screen tells you nothing about its 2 cm version on a flyer.
  2. Scan it with at least two different phones, including an entry-level or slightly older one.
  3. Scan from the distance your customers will actually use — from the pavement for a shop window, not with your nose against the paper.
  4. If the item is likely to be photocopied, also test a black-and-white photocopy.
  5. Open the destination on a phone using mobile data, without being logged into your account: that is what a customer will see.
  6. Once the items are out, keep an eye on your scan statistics: an item that suddenly stops generating scans is often damaged, covered or badly placed.

A tool can do part of this work for you. At QRyx, every QR code is generated at the highest error correction level, then goes through a scannability test before being saved, on every plan: contrast between the chosen colours, light/dark direction, readability once converted to greyscale, and above all an actual decode of the final file, logo and frame included. If it fails, the problem is flagged and named before saving, rather than discovered after printing.

Key takeaways

  • Start by telling a reading problem (the phone does not react) apart from a destination problem (the page does not open).
  • Dark on light, with strong contrast, remains the safest rule; pastel shades and inverted codes are the first suspects.
  • Aim for a side of at least one tenth of the scanning distance, never under 2 cm, and keep a white margin of four modules.
  • A logo must neither touch the three corner markers nor use up all the error correction: it is also there to absorb wear.
  • A dynamic QR code lets you fix a dead destination without reprinting — a static one does not.
  • Testing a printed proof, with several phones and at the real distance, prevents almost every reprint.

Frequently asked questions

Why won't my QR code scan? +

In the vast majority of cases, for one of these reasons: contrast too low between the colours, code too small for the scanning distance, white margin around the code removed, logo too large, or glare on a glossy surface. If the phone reads the code but opens an error page, the destination is at fault, not the code.

Can a QR code expire? +

The image itself never expires: it contains fixed text. However, the page it leads to can disappear, and a dynamic QR code stops working if the service handling the redirect deactivates it, for example at the end of a free trial. It is worth checking before choosing a provider.

What is the minimum size of a QR code? +

In practice, about 2 cm per side for a code read in hand, up close. For other uses, a rule of thumb is to plan a side at least one tenth of the scanning distance: 10 cm for a code scanned from 1 metre, 30 cm from 3 metres.

Can a QR code be in colour? +

Yes, as long as you keep a dark colour for the modules on a light background, with marked contrast. Pastel colours, light greys and light codes on dark backgrounds are the main sources of failure. Also think about the black-and-white result if the item is likely to be photocopied.

Why does my QR code work on one phone but not another? +

It is the sign of a code on the edge of readability: a better camera compensates for low contrast, a small size or an intrusive logo, another one does not. More rarely, the failing phone is old and does not read QR codes from its native camera. Either way, it is better to fix the code than to rely on customers' hardware.

How do I fix a QR code that is already printed? +

If the destination no longer responds and the code is dynamic, simply change the destination address from your account: the printed items work again immediately. If the code is static, or if the problem lies in the image itself (contrast, size, margin), you need to reprint.

Put it into practice

Create your dynamic QR code in a few minutes, editable without reprinting.

14-day trial, no credit card · Hosted in France · GDPR