Digital Marketing

QR Code Not Scanning? Causes and Fixes for Printed Materials

Talha Aslan 19 min read 4 views

QR code not scanning: what should you do first?

A QR code not scanning is most often a print problem: the blank border around the code is too narrow, the contrast is weak, the code is too small, or the surface is glossy. Test the code with a second phone in different light, and then follow the order below.

  1. Enlarge the code on a screen and scan it. If it works on screen but not on paper, the problem is the print.
  2. Check that all four sides have enough blank space.
  3. Confirm that the dark modules stand out clearly from a light background.
  4. Open the address inside the code in a browser to confirm that it is correct and live.
  5. If you used a dynamic service, confirm that the account and subscription are still active.

We cannot give you a percentage for how often each step solves the problem. However, in most cases the cause shows up within the first three steps.

Which two different problems do people mean by a QR code not scanning?

When a customer says the code does not work, they usually mean one of two things. In the first case, the camera never finds or decodes the code. In the second case, the camera decodes it, but the wrong page opens or no page loads at all.

This difference matters because the fixes are completely different. For the first case, you look at the print: blank space, contrast, size and surface. For the second case, you look at the address, the redirect and the service subscription.

The person reporting the problem rarely knows which case applies. Therefore, ask one question first: does the phone show a link suggestion above the code? If it does, the code was decoded and the problem lives in the address. If nothing appears, the problem lives in the print.

When you log a complaint, also ask for the phone model, where the person tried to scan, and what appeared on screen. Those three facts point you to the right fix without guessing.

Why is a QR code not scanning? The most common causes

A phone camera first finds the code as a square, then reads the dark and light modules. If any link in that chain fails, you get a QR code not scanning. In other words, the code may be fine while the camera cannot find or read it.

The table below summarizes the most common causes and the first thing to try. It rests on general principles, so the final answer always comes from a test on real devices.

CauseTypical symptomFirst fix
Narrow quiet zoneCamera never finds the codeAdd blank space around it
Low contrastVery slow scan or noneUse dark pattern on light background
Inverted colorsSome phones scan, others do notSwitch to a dark pattern
Printed too smallScans only from very closeMake the code larger
Logo or decorationScanning is hit or missGo back to a plain code
Glossy or curved surfaceGlare blocks the scanTry a matte finish
Very long addressPattern becomes denseShorten the address
Expired dynamic serviceCode scans but page failsCheck subscription and redirect

What is the quiet zone, and why is it the first suspect when a QR code is not scanning?

The quiet zone is the blank border on all four sides of the code. Because of this, the camera can see where the code begins and ends. If the border is too narrow, the code blends into nearby text or lines, and the scan never starts.

The official site of DENSO WAVE, the inventor of the QR code, states that a margin of at least 4 modules is required around the code. A module is a single small square in the pattern. Therefore, you should never squeeze the code inside a frame, a border line or another graphic.

This is the most common design mistake we see. For example, a code pushed into the corner of a business card or placed inside a box on a menu will often fail. In addition, everything looks fine on screen, so you only notice the problem after printing.

The fix is simple. Leave a comfortable margin that is proportional to the code size, and lock that area in the design file.

How do contrast and inverted colors cause a QR code not scanning?

A camera works by telling dark modules from light ones. When that difference weakens, the code stops scanning. For example, light gray patterns, pastel backgrounds and codes printed over photos fail often.

Inverted colors are a separate risk. An inverted code has a light pattern on a dark background. Some readers handle it, but others do not. For this reason, use inverted codes only after a wide device test, and note that a dark pattern on a light background is the safest choice in most projects.

If you decide to use color, follow these principles:

  • Make the pattern clearly darker than the background.
  • Test warm tones such as red, because they can look faint in print.
  • Avoid gradients and textures, since they blur module edges.
  • Measure the contrast instead of judging it by eye.

You can use our color contrast checker for this. It was built for web accessibility. Even so, it helps you see the difference between a dark and a light tone.

How are print size and scanning distance related?

As the code gets larger, the modules get larger, and the camera can read from farther away. DENSO WAVE recommends that each module is built from at least 4 printed dots for stable reading. It also advises printing the code as large as the available area allows.

The general principle is enough here: the farther the reader stands, the larger the code must be. For instance, a small code works on a handheld menu. On a wall poster that people scan from a few steps away, the code must be much larger.

We do not give an exact centimeter value, because print resolution, pattern density and the phone camera decide the result together. Instead, we suggest this method:

  1. Print a trial copy at the real size.
  2. Scan it from the real viewing distance.
  3. Try several phones, and make one of them an older model.

If scanning is a struggle, enlarging the code is usually cheaper than redesigning the layout.

What is the error correction level, and which one should you choose?

Error correction lets the code be recovered even when part of it is dirty or damaged. DENSO WAVE defines four levels: L recovers about 7 percent, M about 15 percent, Q about 25 percent and H about 30 percent. These are approximate values.

A higher level is tougher, however, it makes the pattern denser. Also, a dense pattern struggles at small sizes. So the highest level is not always the right choice.

A practical approach looks like this:

  • In clean, protected places, a low or medium level may be enough.
  • Where dirt, scratches or wear are likely (packaging, outdoor labels), consider a high level.
  • If the address is long, a higher level makes the pattern even denser, so shorten the address first.

The error correction page from DENSO WAVE explains these levels and their intended use. We suggest reading it before you decide.

Does adding a logo break a QR code?

First, a logo covers some of the modules in the middle of the code. Error correction can make up for that loss, but only to a limit. The larger the logo, the more of that reserve you use up, and the less room remains for real damage such as dirt.

The code generation page from DENSO WAVE also warns that codes distorted by image processing or decorated codes may not be readable. Therefore, a decorated code always carries some risk.

If you want to bring your brand into the code, follow this order:

  1. First generate a plain code and confirm that it scans.
  2. Keep the logo small and place it only in the center.
  3. Raise the error correction level, but remember that it makes the pattern denser.
  4. Test with many phones before printing.

Often, placing the brand name and a short call to action next to the code is safer than putting a logo inside it. We treat this balance as part of our brand identity work.

Why do glossy surfaces and curved packaging cause a QR code not scanning?

Glossy coated paper, cellophane, metallic foil and polished plastic reflect light. Instead of modules, the camera sees the glare as a white patch. On curved surfaces, the pattern bends. Bottles, box corners and cylindrical packs are typical cases.

To reduce these problems, keep the following in mind during design and print:

  • Leave the code area with a matte coating.
  • Place the code on a flat surface, away from curves.
  • Keep the code away from folds and glue lines.
  • On packaging, make the code a little larger if needed.

Also, if the background behind the code is textured or transparent, the color showing through will damage the contrast. On clear labels, printing a white base under the code often solves the issue. Even so, always test on the real product, because a screen preview will not show these problems.

How do a long URL and a dense pattern lead to a QR code not scanning?

The longer the data in the code, the more modules it needs. Because those modules must fit a fixed area, they shrink. Small modules, in short, are hard for a camera to read. A long address full of tracking parameters is therefore one of the most common mistakes.

To simplify the pattern, follow these steps:

  1. Reduce the address to the shortest clean version.
  2. Remove unneeded parameters from the code, and manage measurement on the redirect side.
  3. Generate the code with a plain address that only leads to the page.
  4. Do not set the error correction level higher than you need.

In addition, writing a short path on your own domain, instead of a full link, lowers the pattern density a lot. You can point that path to any page later, as the next sections show. The cell size page from DENSO WAVE explains how module size relates to readability.

Why does a dynamic QR code stop working when the service expires?

First, a static code writes the address directly into the pattern. A dynamic code instead points to a short address on a service provider's server, and that server forwards the visitor to the real page. That way you can change the destination later and see scan counts.

However, there is a price for this. If the subscription ends, the account closes or the service shuts down, the printed code stays in place but goes nowhere. In other words, the code scans, yet the page does not open. The user experiences this as a QR code not scanning, although the print is fine.

To manage this risk:

  • Before using a dynamic service, learn the contract term and what happens at the end.
  • Compare the life of your printed material with the life of the service.
  • Whenever possible, put your own domain in the code instead of a third party's.
  • Add the renewal date to your calendar.

For long-lived print work such as packaging, signs and product labels, a redirect on your own domain is usually the safest path.

What is the difference between static and dynamic QR codes?

A static code holds the address inside the pattern. A dynamic code goes through an intermediary address, which then sends the visitor on. Each has strengths and risks.

FeatureStatic codeDynamic code
Where is the address?Inside the patternOn the service provider's server
Can the target change later?NoYes
Dependence on a serviceNoneYes
Pattern densityDepends on the addressUsually simple
When the term endsKeeps workingRedirect may stop
Scan countsYou need your own trackingService may show them

For a short campaign, a dynamic code is a comfortable choice. For long-lived packaging or signage, a static code or a redirect on your own domain is safer. Whichever you pick, think about the lifetime of the target page before printing.

How do shorteners and redirects affect a QR code?

A shortened address simplifies the pattern, which is a good side effect. However, if the shortener is a third-party service, you depend on its lifespan. If the service closes or restricts the link, your printed code dies.

Setting up a redirect on your own domain is sturdier. For example, a short path like example.com/menu lets you decide later which page it leads to. As a result, you do not need to reprint when the campaign changes.

When you set up the redirect, pay attention to these points:

  1. Keep the redirect chain short, because every extra step adds delay and risk.
  2. Choose a simple target page that opens fast on mobile.
  3. Verify the redirect with our redirect checker.
  4. Update the redirect if the target page moves.

That way you print the code once, and you change the destination whenever you need to.

What should you do when a QR code opens the wrong page?

If the camera decodes the code but an unexpected page opens, the problem is in the address, not the print. First look at what the code contains. The phone shows the address after the scan, so read it before you open it.

The most common causes are these:

  • The code was printed with the address of an old campaign.
  • Also, the redirect may now point to another page.
  • Or the dynamic service has linked the code to a different target.
  • The page moved, and the old address lands on an empty or broken page.

Work through the fix in order. First, note the address inside the code. Next, open that address in a browser and follow where it goes. Finally, correct the redirect or restore the target page.

If the print is already distributed, you cannot change the code, but you can change the redirect. For this reason, a path on your own domain, under your control, matters. To find broken pages, use our broken link checker.

Which phone, light and user factors can make a QR code not scan?

The print is not always at fault. On some phones, the camera app may have QR reading turned off. Older models focus slowly, and also in dim light the camera cannot pick out the pattern.

A few typical user-side situations also exist:

  • The phone is held too close or at a steep angle.
  • Next, the camera lens may be dirty or smudged.
  • Also, the light may be weak, or there may be direct glare.
  • The user frames only part of the code.

For this reason, a short instruction next to the code helps. A single sentence such as "Point your camera at the code" reassures a first-time user. In addition, leaving generous blank space lets the camera find the code faster.

To tell whether the phone or the print is at fault, try the code with a different device under the same conditions. If the other device scans it, the print is probably sound. If neither device scans it, suspect the print and the address. Updating the camera app or trying another reader can sometimes make a difference too.

Why does the call to action next to a QR code matter?

Still, a bare code does not tell people why they should scan it. Therefore, a short call to action next to the code increases scans. A clear sentence such as "Scan to see the menu" is enough.

The text has two jobs. First, it moves the user to act. Second, it offers a backup if the code fails, because a short address written beside it lets the user type it by hand.

When you write it, keep these points in mind:

  1. Keep the sentence short and benefit focused.
  2. Tell the reader what they will see.
  3. Place it right next to the code, on the same line.
  4. Keep the text outside the quiet zone, or you shrink the margin.

This small detail affects both conversion and support load. When people understand what the code is for, they also know what to do when it fails. On menus, where decisions are quick, the difference is even more visible.

How does the problem differ on flyers, menus, business cards, packaging and posters?

Each print type has its own risk, so check the table. The table below shows what to watch for on each material.

MaterialMain riskOur suggestion
FlyerFold line splits the codePlace it on a flat area
Restaurant menuPlastic sleeve causes glareChoose a matte sleeve or coating
Business cardSmall area, code gets crampedKeep the address very short
PackagingCurves and glossy surfaceFlat area, matte coating
PosterLong viewing distanceMake the code clearly larger
Shop windowGlass reflection and lightTest at different times of day

On small items such as menus and business cards, the focus distance of the phone also matters. A phone held too close cannot see the code sharply. So make sure the code on a business card is not too small.

When the design team knows these risks while preparing the print file, the problem is solved before the printer. In our web design projects that cover both web and print, we add this check to the design stage.

What file should you give the printer, and what should you ask?

Pasting a screenshot of the code into a design creates blurry edges. Blurry edges soften the module borders, which makes the camera's job harder. Therefore, generate the code as a sharp, scalable file if possible and place it in the design as is.

When you talk to the printer, ask these questions:

  1. Will my chosen paper and coating lower the contrast of the code?
  2. At a small size, will ink spread merge the modules?
  3. Do I need a trial print before the full run?
  4. Is the code area far from the cutting and folding margins?

At the proof stage, also test the code with a phone. The printer may send a digital preview that looks fine, but the real print is the real test. A trial print may look like an extra cost. Still, it costs far less than a thousand misprinted flyers, so add it to the budget from the start.

Which test checklist should you run before sending to print?

Printing cannot be undone, therefore close every risk before the press. The list below is a general checklist our team uses. Confirm each item with a trial print.

  1. Is the address correct and live, and does it open fast on mobile?
  2. Next, is the quiet zone sufficient on every side?
  3. Then, is the pattern dark on a light background with enough contrast?
  4. Did you test the code at the real print size and the real distance?
  5. If there is a logo or decoration, does the code still scan cleanly?
  6. On a glossy or curved surface, did you test on that surface?
  7. For a dynamic service, did you plan the account and its lifespan?
  8. Did you test with at least three different phones in two kinds of light?
  9. Is the target page mobile friendly?

To check how the target page behaves on mobile, our mobile friendly test helps. You can also read our guide on the mobile friendly test and mobile SEO check.

How do you measure QR code scans with UTM parameters?

However, a QR scan can look like an ordinary visit on your site. To see which material brought what, add UTM parameters to the address. UTM parameters are short tags added to a link that label the source of traffic.

Use a separate tag for each printed item. For example, if you give the flyer and the menu different campaign names, you can see which one brings more scans. For details, read our guide on what UTM parameters are, and build the tags quickly with our UTM builder.

There is a balance, though. UTM parameters lengthen the address and make the pattern denser. So first create a short redirect address, and keep the long UTM address behind the redirect. That way you measure the traffic and the code stays simple.

If you export the data and special characters break in Excel, our guide on broken characters in CSV files can help.

What should you watch when you compare scans with other channels?

When you compare QR scans with other channels, you must know the measurement differences. For example, email open metrics can be inflated by privacy protections, and we explain this in our article on why email open rates suddenly rise.

Also, scans are not a perfect number. One person may look at the code several times, and some phones preload the address. As a result, do not treat the scan count alone as a measure of success.

For a more reliable reading, look at these:

  • Time on site and page engagement after the scan.
  • Conversions on the target page, such as forms, calls or orders.
  • A comparison by material, instead of one total.

To calculate these ratios, you can use our CTR calculator. Example calculation: with 200 scans and 10 visitors who fill in a form, the conversion rate is 5 percent.

How does our team prevent a QR code not scanning?

At Talha Aslan and team, we try to solve this problem in the design stage, not after printing. We handle the code, the target page and the measurement together. If one of the three is missing, the code either fails or brings no result.

Our general workflow looks like this:

  1. We decide on which material and at what distance the code will be scanned.
  2. Then we prepare the target page for mobile and make sure it opens fast.
  3. Next, we set up a redirect on your own domain and add the tracking tags.
  4. Finally, we run a trial with real devices and send the file to print.

For the digital side of a campaign, we offer Google Ads management and SEO consulting. This article offers no technical guarantee. In every project, the real print and the real device decide the result.

If you want a quick code for printed material, try our QR code generator. Even so, always test the output with a phone before printing.

What backup plan applies when the code still will not scan?

If the print is already done and the code is still faulty, then do not panic. You have several options. Adding a short address next to the code that people can type gives users a way out in every case.

Consider these options in order:

  1. Cover the code with a small matte label that carries a fixed version.
  2. Print a readable short address beside the code.
  3. If the dynamic service has expired, renew it or switch to the redirect on your own domain.
  4. Stop the undistributed stock and move to the corrected print.

Asking users to search for your brand instead is only a temporary fix. It also costs conversions, so the real answer is to test the code before you print.

We do not guarantee the result of any method. Still, these steps help you limit the damage in most cases. What matters is to stop distribution as soon as you notice the problem, and to rule out causes one by one. That way, you keep both the cost and the lost customers small.

Frequently Asked Questions

Why does my QR code scan on screen but not on paper?
Because paper adds print quality, surface and margin to the equation. For example, the code may be printed too small, or the blank border around it may be narrow. In addition, a glossy coating can cause glare. Test the code with a trial print at real size, from the real distance, and with several phones. The problem usually shows up there.
Does adding a logo stop a QR code from scanning?
Not always, but it carries risk. A logo covers some modules and uses up the error correction reserve. If you keep the logo small and test the code on many phones, it can work. Still, DENSO WAVE notes that decorated codes may not be readable. The safe route is a plain code with your brand placed next to it. Test before printing in every case.
What happens when a dynamic QR code expires?
The printed code stays the same, but the provider's redirect stops, so the page does not open. Users experience this as a broken code. To reduce the risk, learn the contract terms and the end conditions in advance. For long-lived print, a redirect on your own domain keeps control in your hands. Also, put the renewal date in your calendar.
How much blank space should I leave around a QR code?
DENSO WAVE states that a margin of at least 4 modules is required around the code. A module is one small square in the pattern. Do not squeeze the code into a frame, a border line or another graphic. Fix the margin in the design file so there is no surprise at print. If unsure, leave more space, because extra margin does no harm.
What should I do if my QR code opens the wrong page?
First, open the address inside the code in a browser and see where it goes. The cause is usually an old campaign address, a changed redirect or a moved page. Even if you cannot reprint the code, you can fix the redirect. That is why a path on your own domain matters. After the fix, scan the code again and confirm the page opens.
How do I measure QR code scans?
Add UTM parameters to the address, and tag each printed item separately. That shows you the separate performance of flyers, menus and posters. Because UTM parameters lengthen the address, create a short redirect address first and keep the UTM link behind it. Do not treat scan count alone as success; also look at on-page engagement and conversions.
  • qr code not scanning
  • qr code problems
  • quiet zone
  • dynamic qr code
  • print testing
  • qr code utm
  • printed materials
Share:
Talha Aslan

Google Partner digital marketing expert. Hands-on with SEO, Google Ads, web design and e-commerce projects since 2012; every post here comes from that experience.

Next project

Let's talk about your project.

Your brief goes straight to Talha Aslan and team: strategy led by Talha, delivery by an experienced team. The first consultation is free; we listen and come back with a clear roadmap.