A QR code not scanning is almost always caused by one of six things: the code is too small, the contrast is too low, the margin around it is too narrow, the link inside it is broken or too long, the print is blurry or glossy, or the phone cannot focus. This guide gives the quick checks first, then the details and the numbers to fix each cause.
Quick Checklist: Fix a QR Code Not Scanning
- Open the link yourself. If the page does not load, the code is fine and the destination is broken. Fix the URL, or change it if the code is dynamic.
- Check the size. Use at least 2 cm (0.8 inches) wide for a code held in the hand, and 1 foot wide for every 10 feet of scanning distance.
- Check the contrast. Use dark modules on a light background, ideally 4.5:1 or higher. Do not invert the colors.
- Check the margin. Leave a blank border of at least 4 modules on all four sides.
- Check the print. Use SVG or PDF, a matte surface, and a flat placement.
- Scan with two different phones in the lighting where the code will really be used.
Why Size and Distance Dictate Scannability
The physical size of a QR code is the most frequent cause of scanning problems. If a code is too small, the phone camera cannot tell the individual modules apart. Use a minimum of 0.8 x 0.8 inches (2 x 2 cm) for close-range items such as business cards and product packaging. For codes scanned from a distance, use the 10:1 rule: a code viewed from 10 feet away should be at least 1 foot wide. A poster read from 3 meters needs a code of about 30 cm.
Denser data needs more modules, and more modules need a larger print size. Following best practices for QR code readability helps you set the proportions before a large print run. If you are unsure about the final placement, choose the larger size. Older phones with low-resolution cameras need it most.
Why Color Contrast Is the Foundation of Readability
Scanners decode the difference between dark and light modules. If the contrast is too low, the software cannot find the pattern against the background. Keep a contrast ratio of 4.5:1 or higher, as described in color contrast best practices. Black on white is the most reliable. Dark navy, deep purple or forest green on light gray or cream also work.
Avoid inverted codes (light modules on a dark background), because many camera apps cannot read them. Avoid gradients and translucent backgrounds, because they create mid-tones that look like neither ink nor paper to the scanner. Red on white is a common problem, since some scanners read red as a light color.
The Importance of the Quiet Zone and Padding
The quiet zone is the blank margin around all four sides of a QR code. It tells the scanner where the code starts and where the surrounding design ends. The standard asks for at least 4 modules of margin. If text, a logo or a background pattern touches this space, the scanner may treat those elements as part of the code, and the scan fails.
Keeping this border clear is one of the most effective tips for faster scanning. Placing the code on a white box or a white label is the simplest way to keep the margin when the background is a photo or a pattern.
Managing Data Complexity with Dynamic QR Codes
A code that holds a long URL with many tracking parameters looks dense and pixelated. Small blocks are hard for a camera to focus on. A QR code generator that creates dynamic codes solves this, because the code stores a short redirect link instead of the full address. The pattern is simpler and scans faster.
Static codes store the destination directly in the pattern. They never expire and are the right choice when the link will not change, such as a fixed web page or a Wi-Fi login. The weakness is that the printed code cannot be edited. If the page is deleted or moved, every printed copy points to a dead link.
Dynamic codes let you change the destination after printing, so a broken link is fixed in minutes without reprinting. They also show scan statistics. Dynamic codes work while your plan is active and become inactive after a paid plan ends. You can try them with a 14-day free trial, and plans are listed at pageloot.com/pricing. Unlimited scans are included, and plans come with a 30-day money-back guarantee.
Monitor Your Campaign in Real-Time Want to see where and when your customers scan your materials? Use the QR code generator to create trackable codes and see scans by time, place and device in your dashboard.
How Print Quality and Substrates Impact Performance
Always print from a vector file such as SVG, PDF or EPS. A small PNG or JPG gets soft edges when enlarged, and blurry edges make neighboring modules run together. The impact of printing techniques explains how offset and digital printing compare. If you must use PNG, export it at a large size, for example 1000 pixels or more for a code printed at 5 cm.


Glare is the second print problem. Glossy paper, glass and plastic packaging reflect light into the lens and wash out the modules. Use a matte finish and put the code on a flat area, not on a curved bottle or a folded edge. If the code must sit on a curved surface, make it larger to offset the distortion.
QR Code Tags and Metal Surfaces Not Scanning
Metal tags, engraved plates and stickers on equipment fail more often than paper, for three reasons. Shiny metal reflects light and hides the modules. Laser-etched or engraved codes often have low contrast between the marked and unmarked areas. Small tags force very small modules.
- Use a matte or brushed finish, or an anodized or painted surface, instead of polished metal.
- Make the contrast clear. Black paint or black ink on a pale metal or white label is more reliable than a faint etched mark.
- Keep the quiet zone free of screws, edges and engraved text.
- Use a short link, so the code has fewer and larger modules. A dynamic code is useful here, because a metal tag cannot be reprinted cheaply.
- Test the finished tag with two phones, in daylight and in indoor light, before you order a batch.
Troubleshooting Device and Environment Issues
Sometimes the code is fine and the device or the place is the problem. Low light reduces contrast, and a dirty camera lens makes images blurry. Tell users to wipe the lens and hold the phone 4 to 12 inches (10 to 30 cm) from a small code. It is important to test QR codes for mobile usability on older Android and iOS phones as well as new ones.
- iPhone: open the Camera app and point it at the code. Check that Settings, Camera, Scan QR Codes is on.
- Android: use the Camera app or Google Lens. If nothing happens, open Google Lens directly.
- No internet: the scan works, but the page will not load. This looks like a broken code, but it is not.
- Link opens the wrong page or an error: the destination changed. Check the URL, and use a dynamic code if you need to change it later.
If you put a logo in the center of the code, set the error correction to Q (25%) or H (30%). The levels are L 7%, M 15%, Q 25% and H 30% of the pattern that can be damaged and still be read. A higher level adds modules, so keep the logo small and test it. See QR code usability best practices for testing branded designs in real lighting.
A reliable code needs the right size, high contrast, a clear margin, a clean vector print and a short link. Test it on more than one phone before you print the full run.


Frequently Asked Questions
Blurriness usually comes from a low-resolution file such as a small JPG or PNG. Download the code as SVG or PDF, which can be enlarged without losing quality, and print on a matte surface.
Only if it is a dynamic QR code. A static code stores the destination in the pattern, so it cannot be edited. A dynamic code uses a redirect link, so you can change the destination in your dashboard at any time.
The usual causes are low contrast, a missing quiet zone, a code that is too small, or glare. Check that the margin is at least 4 modules, the modules are much darker than the background, and the code is at least 2 cm wide.
Shiny metal reflects light, and etched marks often have low contrast. Use a matte or painted surface, high-contrast black on a light area, a clear margin and a short link, then test the tag on two phones.
Static QR codes never expire. Dynamic codes work while your plan is active and become inactive after a paid plan ends.
At least 2 x 2 cm (0.8 x 0.8 inches) for close-range items. For distance scanning, use 1 foot of width for every 10 feet of distance.























