QR Code Not Working? 9 Fixes That Actually Help
A QR code can fail for two very different reasons: the camera cannot read the pattern, or the code scans but the destination does not work. The fastest way to fix it is to test both sides separately, then work through the most common print, design, and link problems.
If your QR code is not working, start with these checks
First, figure out which problem you have. Open your phone camera, scan the code, and watch what happens. If the camera never recognizes a code at all, the issue is usually physical: size, contrast, glare, distance, damage, or a design that makes the pattern hard to read. If the camera detects the code but opening it leads to an error page, the issue is usually the link or destination.
Try the code on at least two devices, ideally one iPhone and one Android phone. Test in normal daylight and again indoors without reflections. If one phone reads it and another does not, the code may be borderline readable rather than completely broken.
Also test the encoded link directly if you know it. If the URL works when typed into a browser but the printed code still will not scan, focus on the print and design. If the URL itself is dead, redirected incorrectly, or blocked, you will need to fix the destination rather than the image.
Fixes 1-4: contrast, size, quiet zone, and print quality
Fix 1: Increase contrast. A QR code works best with dark modules on a light background, usually black on white. Low-contrast combinations like light gray on white, pastel colors, metallic ink, or photo backgrounds often fail. Inverted codes can work in some cases, but they are less reliable across devices and apps.
Fix 2: Make the code bigger. If the code is tiny, cameras struggle to resolve the squares, especially from a distance or on low-quality prints. On flyers, posters, packaging, and signs, increase the printed size and test from the actual scanning distance. A code on a store window needs to be much larger than a code on a business card.
Fix 3: Preserve the quiet zone. The blank margin around the QR code is not optional. If text, borders, images, or design elements sit too close to the edge, scanners may not recognize where the code begins and ends. Leave a clear white margin around all four sides.
Fix 4: Check print quality. Blurry ink, low-resolution exports, stretched proportions, and compressed screenshots can all break scannability. Always export a clean PNG or SVG from the generator, avoid resizing it disproportionately in design software, and inspect the final print for bleeding, pixelation, or soft edges.
Fixes 5-7: damage, placement, and camera problems
Fix 5: Look for damage or obstruction. Scratches, folds, creases, smudges, tape seams, and labels placed over part of the code can prevent a scan. Even when error correction helps, too much damage will stop recognition. If the code is on packaging or a menu, check whether wear and tear has covered any corner markers or central modules.
Fix 6: Improve placement and lighting. Curved surfaces like bottles and cups can distort the pattern. Glossy laminates, glass, and direct sunlight can create glare that hides the squares. Move the code to a flatter surface if possible, reduce reflections, and avoid placing it where people must scan at an awkward angle.
Fix 7: Rule out phone camera issues. Clean the camera lens, tap to focus, and hold the phone steady for a second or two. Some phones need the built-in camera app rather than a social media camera. If recognition is slow, update the device software or try a dedicated QR scanner app to confirm whether the problem is the code or the phone.
Fixes 8-9: broken links, expired content, and the wrong QR type
Fix 8: Check the destination itself. Sometimes the QR code scans perfectly, but the landing page returns a 404 error, a parked domain, an app deep link that no longer works, or a page blocked by location, login, or network restrictions. Test the exact link on mobile data and Wi-Fi. If the page redirects several times before loading, shorten the redirect chain and make sure the final page is mobile-friendly.
Fix 9: Confirm whether the code is static or dynamic. A static QR code directly contains the final URL or content. If that destination changes later, the printed code cannot be updated; you need a new code and usually a reprint. A dynamic QR code points to a short link you control, so you can change the destination later without changing the printed code.
This matters when a campaign URL changes, a menu page moves, or a product page is retired. With a dynamic QR code, you can fix the destination immediately and keep the existing print in circulation. Tools like ScanIQ also let you see whether people are scanning successfully, where scans happen, and whether a drop in scans points to a real-world issue like poor placement or damaged signage.
How to test a QR code before you print 500 copies
Test the code in the exact format people will scan. A code that works on your laptop screen may fail once reduced on a label or placed on a glossy poster. Print a sample at real size, place it where it will be used, and scan it from normal distance with multiple phones.
Create a simple checklist: dark code on light background, generous quiet zone, no stretching, no busy background, enough physical size, and a working mobile landing page. Then test under bright light, indoor light, and slight glare. If the code is going on packaging, test on the final material, not just office paper.
If you use a dynamic QR code, do one extra test after publishing: change the destination once and confirm the printed code still works. That tells you the redirect is configured correctly and gives you a safety net if the landing page ever moves later.
Next steps if your QR code still will not work
If the camera cannot detect the code, redesign or reprint it with higher contrast, larger size, a proper quiet zone, and cleaner output. If the code scans but the page fails, fix the destination URL, redirects, or mobile page. In many cases, the fastest answer is not technical at all: the code is simply too small, too stylized, or too reflective where it is being used.
For future campaigns, keep the design simple and use a dynamic QR code whenever the destination might change. That way, a broken page does not automatically mean wasted print. A quick round of testing before launch and a fixable destination after launch prevent most QR code problems people run into.
Create a free dynamic QR code
Editable destination, scan analytics, free to start — no card required.
Get started free →