Skip to content

Why your QR code stopped working

A QR code printed on a thousand flyers that no longer scans is an expensive problem. The causes are predictable, and most of them are decided before anything is printed.

Ahmed Kobbi · · 6 min read

01

Why did my QR code suddenly stop working?

If a code worked for months and then stopped abruptly, this is almost certainly why. Most commercial QR generators produce dynamic codes. Rather than encoding your content, they encode a short URL on the generator's own domain, which redirects to your real destination. That is what allows the destination to be edited after printing and scans to be counted. The dependency is total. If the subscription lapses, the free trial ends, the company changes its terms, or the business shuts down, the redirect stops resolving and every printed code becomes dead. There is no way to fix material already distributed — the pattern on the paper points at a URL that no longer works. This has happened repeatedly to businesses that printed dynamic codes onto packaging, signage and vehicle livery, which are exactly the surfaces you cannot cheaply reprint. A static code has no such failure mode. The content is encoded directly into the pattern, so there is no intermediary and nothing to expire. The trade-off is that it cannot be edited and gives you no scan analytics.

02

Get both properties: encode your own redirect

The apparent choice between 'editable but fragile' and 'permanent but fixed' is a false one, and the way out is straightforward. Encode a static QR pointing at a short URL on a domain you control — something like yoursite.com/menu. Set up a redirect at that address to the real destination. When the destination changes, you change the redirect. You get editability, because the redirect target is yours to update. You get analytics, because the request hits your own server and appears in your own logs. You get permanence, because the only party that has to keep existing is you. And you avoid a monthly fee for a service that is doing one line of configuration. The one requirement is that you keep the domain registered. That is a genuine obligation, but it is one you control, and it is considerably more reliable than depending on a third party's business model.

03

Physical causes: quiet zone, contrast and size

When a code has never worked rather than stopping, the cause is almost always in the artwork. The quiet zone is the most frequent. The specification requires a blank margin of at least four modules around the pattern, and scanners use it to locate the code's boundary. Designers routinely crop it to tighten a layout, and the code becomes unreadable. If your QR sits flush against a border, a background image or another element, this is likely the problem. Contrast is second. Scanners need dark modules on a light background. Brand colours are fine when they are genuinely dark against genuinely light, but pastel codes, mid-tone on mid-tone, and light-on-dark inversions all reduce reliability — the last works on many scanners and not all. Size is third and the most systematically underestimated. Scan distance is roughly ten times the code's width, so a 5 cm code is comfortable at half a metre and a poster meant to be read from three metres needs around 30 cm. A code looks generous on a desktop proof and tiny on a wall. A fourth is a logo overlay that is too large. Error correction can reconstruct covered modules, but only within its budget — keep a logo under about 20 percent of the area and raise correction to level Q or H.

04

Surface, material and environment

Codes that scan perfectly on a proof sometimes fail on the finished product because of what they were printed on. Gloss and spot-UV finishes create specular reflection that can blind a phone camera under overhead lighting. If a card or package design calls for gloss, leave the QR area matte. Textured stock — laid, linen, canvas — breaks up fine modules and can defeat a dense code entirely. Either enlarge the code or shorten the payload so the pattern is coarser. Curvature matters on bottles, tubes and cans, because it distorts the module grid. Print larger than a flat application would need and keep the code away from the tightest part of the curve. Outdoors, UV exposure fades inkjet output within a season and thermal receipt paper darkens with age until contrast disappears. Laminate for outdoor use, prefer matte laminate to avoid sun glare, and for permanent installations consider engraving, where the contrast is physical rather than pigment-based.

05

A pre-print checklist

Before committing to a run, work through this in order. It takes a few minutes and prevents the expensive version of the problem. Confirm the code is static, or that the dynamic service is one you are prepared to depend on for the lifetime of the printed material. Check the quiet zone is intact at four modules or more. Check contrast is genuinely high, not merely on-brand. Check the size against the ten-to-one rule for the distance people will actually stand at. Then test the physical proof, not the screen version — print it on the final stock, at the final size, with the final finish. Scan it with at least two phones, ideally one iPhone and one Android, and ideally one of them an older handset with a poorer camera. Test under the lighting the code will live in, since a code that scans under an office light can fail under a dim restaurant one. Finally, print the underlying information as text alongside the code where it is short enough — a phone number, a short URL. It costs nothing, covers anyone whose camera will not scan, and means a failed QR is an inconvenience rather than a dead end.

Questions7

Frequently asked questions

Why did my QR code suddenly stop working?

Most likely it was a dynamic code and the redirect service stopped resolving — a lapsed subscription, changed terms or a shut-down provider. Static codes have no such failure mode.

Do static QR codes expire?

No. The content is encoded into the pattern itself, so there is no server, no account and nothing to lapse. It works as long as the destination does.

Can I make a QR code editable without a paid service?

Yes. Encode a static code pointing at a short URL on your own domain and redirect from there. You get editability and analytics while depending only on yourself.

What is the quiet zone?

The blank margin around the pattern, required to be at least four modules wide. Scanners use it to find the code's edges, and cropping it is a very common cause of failure.

How big should a printed QR code be?

Roughly a tenth of the scanning distance. A 5 cm code works at half a metre; a code read from three metres needs around 30 cm.

Can I put a logo in the middle?

Yes, if it covers under about 20% of the area and you raise error correction to level Q or H so the hidden modules can be reconstructed.

Why does my code fail on glossy packaging?

Gloss creates reflections that can blind a camera under direct light. Keep the QR area matte even when the rest of the design is glossy.

Last updated:

Written by Ahmed Kobbi, who builds and maintains SwiftTooly.

Adjacent3

Keep reading