THIS WEEK Unbounce vs. ClickFunnels: Which Platform is Right for You? Read this week's article →

12 Common Reasons Your QR Code Isn't Working and How to Fix Them

Published March 07, 2025 · GoTo.now Team

12 Common Reasons Your QR Code Isn't Working and How to Fix Them - Illustration

TL;DR - When a QR code won't scan, the cause is almost always one of twelve things: bad contrast, blurry printing, too much data, a dead link, or a placement problem. Every single one has a quick fix, and most take under a minute.

Key points

  • Low contrast and inverted colors are the number one reason scans fail
  • Long URLs make dense codes - Shorten the link first and the code gets simpler
  • Glossy paper, tiny sizes and bad lighting kill codes that worked fine on screen
  • A code that scans can still fail if the link behind it is broken
  • Always test on two or three different phones before you print

You printed 500 flyers, someone points their phone at the code, and... nothing. It just sits there. Before you blame the phone, run through this list. One of these twelve problems is almost certainly the reason, and none of them are hard to fix.

Start with the design - Most failures happen here

The first three problems live inside the code itself, before it ever touches paper.

1. Poor contrast. Scanners need a dark code on a light background. Light gray on white, or dark blue on black, looks classy and scans terribly. If you want color, keep the code much darker than what's behind it.

2. Low resolution. A blurry, pixelated code confuses the scanner. Export at 300 dpi or higher for print, and never stretch a small image bigger. On screen, keep it at least 2 x 2 cm.

3. Too much customization. Rounded modules, heavy gradients, a giant logo covering the middle - Each tweak eats into the error correction that keeps codes readable. A little styling is fine. The free QR generator lets you add colors and a logo while keeping the code inside safe limits, so you don't have to guess.

A QR code is just a wrapper around a link. If the link is bad, the code is bad.

4. Dead or expired URL. The code scans, the page 404s. This happens all the time with codes that point at raw links. Point your code at a short link instead - GoTo.now links never expire, and you can change where they go even after the code is printed.

5. Too much data. A 200-character URL makes a dense, cramped code that phones struggle with. Run the address through the homepage shortener first. Shorter link, simpler code, easier scan.

6. Broken redirects. Sometimes the link works but a redirect in the chain doesn't. Paste your link into the link checker before you print anything. It shows you exactly where the link ends up, without you having to visit it.

Look at where and how the code is printed

Codes that scan perfectly on your monitor can die in the real world.

Problem What went wrong The fix
7. Print quality Smudged, stretched or tiny Print larger, matte finish, test first
8. Damage Scratched, torn, taped over Place behind glass or in a protected spot
9. Distance Too small for where people stand Bigger code for bigger distances
10. Lighting Glare or darkness Avoid glossy surfaces, add light nearby

The distance one trips people up the most. A rough rule: the code should be about one-tenth the size of the scanning distance. A code on a poster people scan from 3 meters away needs to be around 30 cm wide. Business-card size only works at arm's length.

Rule out the scanner itself

The last two problems aren't your code's fault - But they're still your problem.

11. Wrong code type. Wi-Fi codes, vCards and app-specific codes don't work in every scanner. Plain URL codes work in basically all of them. When in doubt, link to a web page.

12. Old devices or apps. Some older phones can't read fancy formats or very dense codes. You can't control what's in people's pockets, so build for the weakest scanner: simple format, short URL, high contrast.

Test like a stranger would

Here's the habit that catches all twelve problems before they cost you money. Before you send anything to the printer:

  1. Scan the code with an iPhone and an Android phone
  2. Scan it from the real distance people will use
  3. Scan the printed proof, not just your screen
  4. Tap through and make sure the page that loads is the right one

Five minutes of testing beats reprinting a batch of print materials that nobody can scan.

Twelve reasons, twelve fixes

Every broken QR code on this list comes down to one of three things: the design, the link, or the placement. Fix the contrast, shorten the URL, print it big enough, and test on a real phone. Do that and your code will scan on the first try - Which is the only try most people give it.

Step-by-step guides for this topic

Try it yourself: shorten your next link free on the GoTo.now homepage, or make a trackable QR code in your brand colors.