Guide
QR Code Not Working? How to Fix Common Issues
QR codes fail for a small set of recurring reasons. Most failures are physical (contrast, size, quiet zone, print quality); some are URL-related (dead destination, vendor cancellation deactivation); a few are scanning-device problems. This guide covers the full failure taxonomy with a quick diagnostic to isolate which one is hitting you, then the specific fix for each.
Quick diagnostic: isolate the failure in 60 seconds
Before troubleshooting, identify the failure mode. Three quick tests narrow the cause:
Test 1: Does the QR scan on any phone?
- Yes, but it goes to the wrong place / 404 page → URL or destination problem. Jump to the broken-URL section.
- Yes, but only on some phones → borderline design problem (contrast, size, or quiet zone). Jump to the relevant section.
- No, it doesn't scan on any phone → the QR itself is broken or unscannable. Continue with Test 2.
Test 2: Does the printed QR look the same as the digital file?
- Yes → the failure is in the design (size, contrast, quiet zone, embedded logo) or the scanning device. Jump to the contrast and size sections.
- No, the printed version looks degraded (fuzzy, faded, warped) → print quality or material problem. Jump to the print quality section.
Test 3: Did the QR work originally and stop working later?
- Yes, used to work, now broken → either the destination URL died, the vendor deactivated the code (dynamic), or the print degraded over time (UV, wear, lamination failure). Jump to the vendor cancellation, URL, or UV degradation sections.
- No, never worked → the QR was broken at generation or first print. Jump to the contrast, size, or quiet zone sections.
With the failure type identified, the relevant section below gives the specific fix. Most fixes take under 10 minutes once you know what's wrong.
Low contrast between colors
The number one design-time failure. Scanners need a clear difference between dark modules and the light background to detect the QR pattern. Pure black on white delivers 21:1 contrast — the maximum possible. Any deviation reduces reliability.
The 4.5:1 WCAG threshold. Color combinations below 4.5:1 contrast fail intermittently. Pastels (pale blue on cream, soft pink on white), trendy grays (charcoal on off-white when both are mid-gray), and color-on-color combinations all live in this risk zone. The QR may look fine in the design file at 100% zoom but fail under real-world print and lighting conditions.
The lighting multiplier. Restaurant lighting is dimmer than office lighting; outdoor lighting at dusk is dimmer than midday sun; older phones have less forgiving QR scanners than current flagships. A QR that scans cleanly in a brightly lit design studio fails 20–30% of the time in a dim restaurant on an older Android. Test under the actual deployment lighting before printing.
Background interference. A QR placed on a busy patterned background (textured stock, watermarked paper, photo backgrounds) fails because the scanner cannot separate the QR pattern from the surrounding noise. The QR needs a solid quiet-zone background to scan reliably.
The safe palette. Black on white. Dark navy, deep teal, forest green, burgundy, charcoal on white or cream. These pass 4.5:1 and read as branded without sacrificing reliability. See the QR color guide for the full tested palette and the no-watermark generators guide for vendors that allow free brand-color QRs.
Tips
- Always use a dark foreground on a light background with at least 4.5:1 contrast
- Avoid placing QR codes on busy or patterned backgrounds
- Test colored codes on older phones, not just new flagships
- Test under actual deployment lighting (restaurant dim, outdoor dusk) before printing
QR code is too small
If the printed code is too small for the scanning distance, the camera cannot resolve the individual modules and scanning fails.
The 10:1 rule. Code width should be roughly 1/10th the typical scanning distance. A 2 cm code works at 20 cm (business card distance). A 4 cm code works at 40 cm (menu reading distance). An 8 cm code works at 80 cm (poster distance). A 30 cm code works across a small room. Apply a 1.5–2× safety margin for older phones, dim lighting, and angled scans.
Practical minimums by use case:
- Business cards: 2 cm minimum. Below this, older iPhones in dim restaurant lighting fail.
- Menus and table tents: 2.5–4 cm. Restaurants tend to undersize the QR because the menu design is crowded.
- Yard signs and real-estate brochures: 5–8 cm. Sidewalk scan distance is 3–8 feet.
- Posters and signage: 8–15 cm depending on viewing distance.
- Window vinyl for retail storefronts: 8–15 cm. Passersby scan from 3–10 feet on the sidewalk.
- Trade-show booth signage: 15–30 cm for far visibility.
- Billboards and large-format display: 30+ cm; consult the print vendor for vehicle-distance specifications.
If the QR fails only at distance but works up close, size is the cause. See the QR code size guide for the full scaling table by deployment type.
Tips
- Business cards: 2 cm minimum
- Menus and brochures: 2.5–4 cm minimum
- Posters and signage: 8–10 cm minimum
- Apply a 1.5–2× safety margin for older phones and dim lighting
Missing quiet zone
Every QR code needs a quiet zone — a clear margin of solid light space around the entire code, at least 4 module widths wide on all sides. The quiet zone is part of the QR spec, not optional design padding. Without it, the scanner cannot detect where the code begins and ends.
Common quiet-zone failures:
- Designer crops the QR flush to the surrounding layout because it looks cleaner. The crop removes part or all of the quiet zone, and scan rates drop or fail entirely.
- Background graphic bleeds into the quiet zone. Brand patterns, decorative borders, or photo backgrounds extending into the quiet zone create visual noise that the scanner cannot separate from the QR pattern.
- Logo placement around the quiet zone. A company logo placed right at the edge of the QR encroaches on the quiet zone. Move it at least one full quiet-zone width away.
- Text or icons within the quiet zone. A "Scan me" label or arrow icon placed inside the quiet zone breaks the scan. The label belongs outside the quiet zone.
The fix: ensure the QR has at least 1 cm of solid background on all sides on a 4 cm code (proportional for other sizes). Test the printed proof on a phone — if you cannot scan it cleanly from 30 cm, the quiet zone is probably the issue.
Tips
- Leave at least 1 cm of clear space around every edge on a 4 cm code
- No text, images, or logos within the quiet zone
- Background gradients and patterns must stop at the quiet-zone edge
Broken or expired destination URL
If the QR scans cleanly but the phone opens a 404 page, an error page, or a completely wrong destination, the URL itself is the problem.
Common URL failure modes:
- CMS migration changed the URL. You moved your menu page from
restaurant.com/menutorestaurant.com/dine/menu, and the static QR still encodes the old URL. The old URL 404s. - The page was deleted. Marketing rotated the campaign landing page out without redirecting the old URL.
- The destination domain expired or was sold. Common with old marketing-campaign domains that the team didn't renew.
- The page exists but the content changed unexpectedly. A repurposed URL now serves something the QR users weren't expecting.
- SSL certificate expired on the destination. Modern phones block insecure pages by default; an expired cert means the destination won't load.
Static QR fix: generate a new QR with the corrected URL, then reprint any printed materials carrying the old QR. There's no way to edit a static QR after generation.
Dynamic QR fix: open the dashboard, edit the destination URL to point at the new page, save. Every printed QR redirects to the new URL on the next scan. No reprinting required. This is the killer feature of dynamic QRs.
Prevention: for any URL that might change in the next 12 months, use a dynamic QR. For static QRs, encode a URL on a domain you control with a stable redirect — your server can map yourdomain.com/r/abc to wherever the content lives, and you update the server-side mapping when needed. See the dynamic vs static guide for the architectural decision.
Tips
- Use dynamic QR codes for any URL that might change
- Always verify the destination URL in a browser before generating the QR
- For static QRs, encode a URL on a domain you control with a server-side redirect
Dynamic QR deactivated after vendor subscription cancellation
If a dynamic QR worked yesterday and stopped working today — and you haven't changed anything physically — the most likely cause is a vendor-side deactivation tied to the subscription status.
Vendors that deactivate dynamic codes after cancellation:
- Flowcode deactivates dynamic codes 30 days after subscription cancellation per their published ToS. Every printed Flowcode dynamic QR redirects to a Flowcode error page after the deactivation date.
- QR Code Generator (qr-code-generator.com) deactivates dynamic codes on cancellation per their published ToS.
- Some Bitly QR retention rules apply different policies to free, paid, and cancelled accounts.
Vendors that keep codes active after cancellation:
- EZQR keeps dynamic codes redirecting indefinitely after cancellation on every tier including free.
- QR Tiger keeps dynamic codes active per their published ToS.
- Uniqode keeps codes active per current ToS — verify in writing for high-value commitments.
Diagnosis steps:
1. Open the QR vendor dashboard. If the code is marked deactivated or expired, the vendor cancelled it.
2. Check the dashboard subscription status. If the subscription lapsed (failed payment, manual cancellation), that's the trigger.
3. Check the cancellation policy of the vendor. If the policy includes deactivation, the codes will stay dead until you resubscribe (where supported) or recreate.
Fix:
- Within the vendor's reactivation window: resubscribe immediately. Some vendors (including Flowcode within the 30-day window) reactivate codes on resubscription.
- After the window: the codes are dead. Recreate them on a vendor with cancellation survival (EZQR, QR Tiger), update future print artwork to use the new codes, and reprint any critical customer-facing materials. See the verify codes survive cancellation guide and the Flowcode migration guide.
- Prevention going forward: use vendors with published cancellation-survival policies, or use static QRs that have no vendor dependency at all.
Tips
- Verify the vendor's cancellation policy before printing 50+ dynamic QRs
- Most failed dynamic QRs that worked yesterday are subscription-related, not physical
- Static QRs have no vendor dependency and survive any vendor shutdown
Too much data encoded
Long URLs and large payloads create denser QR patterns with more modules. The denser the code, the larger it has to be printed for reliable scanning.
The version system. QR codes come in versions 1 through 40, with module counts from 21×21 (version 1) to 177×177 (version 40). Higher versions encode more data but require larger physical print sizes. A 22-character URL fits in version 1; a 100-character URL with tracking parameters needs version 6 or higher; a vCard with photo and full social URLs can push to version 20+.
Common density problems:
- Marketing URLs with full UTM parameters can be 200+ characters. Strip the QR-side URL down to a short identifier; let your server-side analytics handle the attribution.
- vCard QRs with too many fields. Adding bio text, photo data, and a full list of social URLs bloats the vCard and pushes the QR to a denser version. Stick to name, phone, email, company — and one additional field max.
- WiFi QRs with very long passwords (32+ characters) create denser patterns. Most don't hit this problem; complex enterprise passwords sometimes do.
The fix: shorten the encoded payload. For URLs, use a short URL service or a dynamic QR that encodes a short redirect URL on the vendor's server. For vCards, strip to essentials. For long passwords, consider a dynamic WiFi QR with a hosted landing page that displays the credentials.
Tips
- Keep URLs under 100 characters when possible — strip UTM parameters from the QR-encoded URL
- Dynamic codes always encode a short redirect URL, keeping the pattern simple
- For vCards, include only essential fields (name, phone, email, company)
Physical damage, lamination wear, and UV degradation
Printed QRs degrade physically over time. Even a perfectly designed QR can stop working after months or years of real-world wear.
Lamination failure on table tents and shelf tags. Standard interior lamination delaminates at the edges first, exposing the print to spills, cleaning chemicals, and oils. Once the QR pattern is exposed, scan rates drop within weeks. Replace table tents every 12–18 months under normal restaurant wear; shelf tags every 6–12 months in high-traffic retail.
UV fading on outdoor signage. Standard interior-grade printing fades in direct sun within 4–6 months. Yellow and red inks fade first; black inks are more stable but still degrade. For window vinyl, yard signs, and any outdoor deployment, spec UV-resistant inks with exterior-grade lamination — the print lasts 2–5 years instead of months.
Glossy lamination glare. Glossy lamination creates specular reflection under overhead lighting at certain angles, intermittently breaking scans even on undamaged QRs. Matte lamination scans reliably under variable lighting.
Print resolution problems. QRs exported at 72 DPI (screen resolution) print with fuzzy module edges that scanners cannot parse cleanly. Always export at 300 DPI minimum for print, or use SVG (vector) format that scales to any size without quality loss. PNG at 300 DPI is sufficient for most print; SVG is the better choice when the print broker handles variable sizing.
Substrate problems. Uncoated paper absorbs ink and softens module edges. Glossy stock creates glare. The right default is coated 14-point cover stock with matte lamination for printed QRs that face wear.
Folds and creases on direct mail and packaging. A QR placed on a fold line breaks when the material is folded. Position QRs in flat areas with no anticipated fold or crease.
See the QR code best practices guide and the packaging labels guide for the print substrate and material decision in detail.
Tips
- Export at 300 DPI minimum or use SVG for print
- Use matte lamination instead of glossy for QR areas
- Spec UV-resistant inks and exterior-grade lamination for outdoor deployment
- Replace high-wear table tents and shelf tags on a 6–18 month cycle
Scanning device issues
Sometimes the problem is on the scanning side rather than the QR.
Dirty camera lens. Pocket lint, fingerprints, and oil residue on the camera lens reduce scan accuracy. Clean the lens with a soft cloth.
Outdated OS. Native QR scanning shipped in iOS 11 (2017) and Android 8 (2017). Older devices need a third-party QR reader app. If your QR fails on an old phone but works on a current one, the OS may be the cause.
Camera setting disabled. Some Android skins ship with QR scanning disabled in the camera app settings by default. Open the camera app settings and verify QR scanning is enabled.
Low-light scanning. In very dim environments, the camera cannot resolve the QR pattern. Improve the lighting or move the QR to a better-lit position. Some phones include a flashlight toggle within the camera app for low-light QR scanning.
Camera too close or too far. Phones autofocus on the QR within a certain distance range. Too close and the focus blurs; too far and the modules can't resolve. The sweet spot is 10–40 cm for most phones on most QR sizes.
Aggressive QR readers. Third-party scanner apps sometimes redirect the user through their own redirect page (for monetization), which introduces a delay or a popup. Stick to the native camera app on iOS and Android for the cleanest scan experience.
Tips
- Clean the camera lens before testing
- Use the native camera app on iOS 11+ and Android 10+
- Ensure good lighting; toggle the camera flashlight for dim environments
Quick Tips
- Test every code on at least 3 different phones before printing — one older, one mid-range, one current
- Maintain at least 4.5:1 contrast ratio between foreground and background
- Print at minimum 2 cm × 2 cm, larger for distance scanning
- Use error correction level H (30%) for codes with logos or in harsh environments
- Use dynamic QR codes (on vendors with cancellation survival) to avoid broken links after printing
- Verify the vendor cancellation policy before printing 50+ dynamic QRs
- Always request a single test print on the actual paper stock before bulk production
- Spec UV-resistant lamination for outdoor deployment
Frequently Asked Questions
Why is my QR code not scanning?
Run the 60-second diagnostic in the first section. The most common causes are low contrast (below 4.5:1), too small a print size, or a missing quiet zone. If the QR scans on some phones but not others, it's a borderline design problem. If it scans on no phones, the QR itself is broken or unscannable. If it used to work and stopped, check for vendor deactivation (dynamic codes) or URL changes.
Can a QR code stop working over time?
Static QR codes never expire at the QR level — the data is encoded directly into the pattern and decoded locally by the scanning phone. They can stop being useful if the destination URL dies. Dynamic QR codes can stop working if the vendor deactivates them after subscription cancellation (Flowcode at 30 days, QR Code Generator immediately). Printed QRs can also degrade physically from UV exposure, lamination wear, or repeated handling.
How do I fix a QR code that links to the wrong page?
Static codes cannot be edited after generation — you have to create a new QR with the corrected URL and reprint. Dynamic QR codes let you change the destination from the dashboard without reprinting any physical materials. See the [dynamic vs static guide](/guides/dynamic-vs-static-qr-codes) for the architectural trade-off.
What is error correction in QR codes?
Error correction lets QR codes scan even when partially damaged or covered. Level L handles 7% damage; M handles 15%; Q handles 25%; H handles 30%. Use H for codes with embedded logos (the logo replaces part of the pattern); use Q for general print; M is the default for clean conditions. See the [error correction guide](/blog/qr-code-error-correction-levels).
My QR code worked last month and now redirects to an error page. What happened?
Three common causes. (1) The destination URL changed or was deleted — fix at the URL source. (2) The dynamic QR was deactivated by the vendor after subscription cancellation — check the vendor dashboard for deactivation status; resubscribe if within the reactivation window, recreate on a survival-friendly vendor if not. (3) SSL certificate on the destination expired — renew the cert. See the [permanent QR code guide](/blog/permanent-qr-code-generator-2026) for the structural fix.
How long do printed QR codes last outdoors?
4–6 months with standard interior-grade print and ink in direct sun before fading becomes a scan problem. UV-resistant inks with exterior-grade lamination extend that to 2–5 years. For permanent outdoor deployment (window vinyl, yard signs, exterior signage), always spec exterior-grade material.
More Guides
How to Create a QR Code (Step-by-Step Guide)
Create a QR code in 60 seconds. Pick the content type, fill the form, customize colors and logo, download PNG or SVG. No signup needed for static codes. The full step-by-step with sizing, error correction, and post-generation testing.
Dynamic vs Static QR Codes: What Is the Difference?
The full trade-off between dynamic and static QR codes in 2026. How each one works under the hood, when each is the right pick, the pricing landscape, and the vendor cancellation trap that kills printed dynamic codes.
QR Code Best Practices for Print and Digital
The complete QR code best practices for print and digital in 2026. Design, size, contrast, error correction, lamination, placement, CTAs, dynamic vs static, vendor selection, and pre-print verification.
Related Articles
Why Your QR Code Expired (and How to Fix It)
Your QR code stopped working because the generator's free trial ended. Here's how to recover and prevent it.
QR Code Error Correction Levels: L, M, Q, H Explained
Pick the right QR error correction level. L recovers 7%, M 15%, Q 25%, H 30%. When to use each and why M is your default.
Free QR Codes That Don't Expire (No Expiry): 8 Permanent Generators Tested (2026)
Looking for a no expiry QR code generator? Half the "free QR codes that don't expire" delete your codes the day you cancel. We tested 8 permanent QR generators — see which actually last forever.
How to Verify Your EZQR Codes Survive Cancellation (Before You Print 500 Pieces)
The exact test you should run before printing any dynamic QR campaign: subscribe, generate a code, cancel, wait 35 days, scan. Here is the procedure for verifying EZQR (and any other vendor) against the cancellation trap.
How to Switch from Flowcode to EZQR Without Killing Your Printed QRs
The step-by-step migration from Flowcode to EZQR — including the 30-day deactivation trap that makes a quick cancellation catastrophic for printed materials. The right transition sequence to protect every printed QR.
QR Code Colors: What Works, What Breaks Scans (Tested 2026)
Not every color combination scans. We tested 24 QR codes across safe, brand-accent, and risky color pairs on four phones. Here are the contrast rules, the colors to use, and the combos that quietly fail.
Related Industries
Restaurant QR Codes for Menus, WiFi & Reviews
Create QR codes for restaurant menus, WiFi access, and Google reviews. Update menus without reprinting. Free static codes, dynamic from $5/mo.
Free Event Management QR Codes — Tickets, Check-in & Schedules
Free QR codes for event management — tickets, attendee check-in, live schedules, WiFi, session feedback. Cut check-in lines and handle last-minute changes.
Retail QR Codes for Products & Packaging
Create QR codes for retail product packaging, loyalty programs, and digital coupons. Bridge in-store and online shopping. Free static codes available.
Related Tools
Written by
The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.
Ready to create your QR code?
Free, no watermarks. Generate and download in seconds.
Generate Free QR Code