The 30-second answer
Most QR codes that won't scan are fixed by wiping the camera lens, turning on the phone's QR setting, and holding the phone 6 to 12 in (15 to 30 cm) away in even light. If the code still fails, it's usually too small, too low in contrast, or missing its blank border, and it needs to be reprinted.
Why your phone won't scan a QR code
Work down this list in order. The early fixes take seconds and solve most failures.
1. Wipe the lens
A phone lens picks up a film of skin oil from your pocket. It's invisible until you try to read something with sharp edges, and a QR code is nothing but sharp edges. Wipe it with a soft cloth or the inside of your shirt and try again.
2. Check that QR scanning is switched on
Both iPhone and Android read QR codes in the built-in camera, but the setting can be off.
- iPhone: Settings > Camera > Scan QR Codes. There's a full walkthrough in our guide to scanning a QR code on iPhone.
- Android: open the Camera app's settings and look for a QR scanning toggle (Samsung calls it "Scan QR codes"). The name varies by maker. If your camera has no such option, use Google Lens, which is built into most Android phones.
3. Fix the distance, then hold still
Start about a foot away with the whole code in frame, then move closer slowly. Too close and the camera can't focus; too far and the small squares blur together. Tap the code on screen to force focus, and hold still for a second. Autofocus needs a moment to lock.
4. Kill the glare
Laminated menus and glossy posters bounce overhead light straight into the lens. Tilt the paper or step to one side until the white reflection leaves the code. In a dark restaurant, have someone light the code with their phone's flashlight from an angle. Pointing a light straight at it makes the glare worse.
5. If the code is on a screen
- Turn the screen's brightness up and switch off dark mode or night filters on the device showing the code.
- Zoom in so the code fills more of the screen.
- Code on your own phone's screen? A phone can't point its camera at itself. Take a screenshot instead. On iPhone, open it in Photos and touch and hold the code. On Android, open the screenshot with Google Lens.
6. Try a different scanner, then restart
Scanners don't all decode the same way, so a code your camera app ignores may work in Google Lens. If no app reads any code at all, restart the phone. That clears a stuck camera process more often than you'd think.
It scans, but nothing opens
That's a different problem. The QR code worked; the link behind it didn't. Copy the link from the preview and paste it into your browser to see what's actually wrong:
- No signal or slow data. Basements and stadiums are the usual places. Step outside or join Wi-Fi.
- The network blocks it. Office, school, and public Wi-Fi often block shared short-link domains used by QR generators. Switch to mobile data to test. We explain why this happens, and how a custom domain avoids it, in why printed QR codes get blocked on Wi-Fi.
- The page is gone. A 404 means the destination was moved or deleted.
- The generator account ended. Dynamic codes route through the company that made them. If that free trial or plan lapsed, the code can stop redirecting even though the print is perfect.
How to fix a QR code that won't scan
If several people with different phones can't scan your code, the problem is in the code or the print, not their phones. Match what you're seeing to the table, then fix the file before you reprint.
| What you see | Likely cause | Fix |
|---|---|---|
| Scans on new phones, fails on older ones | Low contrast or a blurry, low-resolution print | Dark code on a light background, exported as SVG or 300 DPI at print size |
| Works up close, fails from a few feet away | Too small for the scan distance | Make it about 1 in wide per 10 in of distance (a sign read from 10 ft needs a code about 1 ft wide) |
| Camera finds it, then loses it | No blank margin; text or artwork touches the code | Leave a clear border at least 4 modules wide on every side |
| Nothing happens at all | Light pattern on a dark background (inverted) | Flip it: dark modules on a light background, or put the code in a white box |
| Pattern looks very dense and busy | A long web address stored directly in a static code | Use a short or dynamic link so the pattern has fewer, larger modules |
| Fails since you added a logo | Logo covers too much of the code | Set error correction to H and keep the logo under about 25% of the area |
| Fails on bottles, cans, or tubes | The code wraps around a curve | Put it on the flattest panel or make it smaller than the curve |
| Fails under shop lights | Glare from gloss lamination or glass | Matte finish, and keep it out from behind glass doors |
Two of these deserve more than a table row.
Size. The rule of thumb is a 10:1 ratio of scan distance to code width. Nothing smaller than 0.8 in (2 cm) for something held in the hand, like a business card. About 2 in (5 cm) is comfortable for flyers and table tents. For a storefront window read from across the sidewalk, go well past 8 in (20 cm).
Contrast. Scanners read the difference between dark and light, not color. Navy on white works. Yellow on white, light gray on white, and pastel on pastel don't. If your brand color is light, put the code on a white panel and use a darker shade for the modules. The QR code design guide has safe color pairs and the logo rules.
Can a damaged or distorted QR code be repaired?
Not the printed copy. Every QR code carries backup data (error correction), so it can still scan with part of it scratched, torn, or covered: about 7% at level L, 15% at M, 25% at Q, and up to 30% at H. The exception is the three large squares in the corners. Damage those and most scanners won't find the code at all.
If it won't scan, reprint it, and use level Q or H for anything that will get handled or rained on. This is where a dynamic code earns its keep: the new print opens the same destination, so your reports and links stay the same. Our error correction guide explains which level to choose.
Common QR code mistakes in retail
- Shelf tags that are too small. Shoppers read shelf edges from 2 to 3 ft away. A thumbnail-size code won't scan from there.
- Price stickers over a corner. A sticker over one of the three corner squares breaks the code no matter how good the rest is.
- Codes behind glass doors. Freezer and display-case glass adds glare and distance at the same time.
- Codes across a fold or seam on a box or a bag.
- No reason to scan. A bare code next to a product gets ignored. "Scan for sizing" or "Scan for the recipe" tells people why it's there.
Test a QR code before you print it
- Print a proof at the real size, on the real paper or material.
- Scan it with at least one iPhone and one older Android phone.
- Scan from the distance people will actually stand, in dim light and in bright light.
- Turn off Wi-Fi and scan again on mobile data.
- Confirm the page that opens loads quickly and is readable on a phone.
Ten minutes of this is cheaper than reprinting a run of 5,000 flyers.
How to see where a QR code goes without opening it
You do have to read the code, but you don't have to open the link. On iPhone and Android, the camera shows the web address in a preview before you tap anything, so you can check it and walk away. You can also screenshot or photograph the code and read it later in Photos (iPhone) or Google Lens. Be careful with online decoder sites, since you're uploading the image to someone else.
One catch: many business QR codes use a short redirect link. The preview shows the short link, not the final page. That's normal, but if a code on a parking meter or a flyer taped over another sign points somewhere unexpected, don't enter payment details.