QR Code Not Scanning? 8 Fixes That Work
You printed 500 business cards with a QR code, handed them out at a conference, and now someone tells you the code will not scan. Frustrating -- but almost always fixable. QR code scanning failures come down to a handful of predictable causes, and most can be resolved before your next print run.
This guide covers the eight most common reasons a QR code fails to scan, ordered from most frequent to least, with a concrete fix for each one.
1. The QR Code Is Printed Too Small
This is the number one cause of scanning failures, especially on business cards where space is tight. A QR code must be large enough for a phone camera to distinguish individual modules (the small squares that make up the code).
Minimum sizes for reliable scanning:
- Business cards -- At least 2 cm x 2 cm (0.8 in x 0.8 in). Ideally 2.5 cm or larger.
- Flyers and brochures -- At least 3 cm x 3 cm at typical reading distance.
- Posters and banners -- Scale proportionally to viewing distance. A poster scanned from 1 meter away needs a code at least 10 cm x 10 cm.
The fix: Measure your printed QR code. If it is under 2 cm on a business card, redesign the layout to give it more space. The QR code should be one of the largest elements on the card -- not an afterthought squeezed into a corner.
2. Poor Contrast Between Code and Background
QR scanners work by detecting the contrast between dark modules and the light background. When contrast is insufficient, the scanner cannot distinguish the pattern.
Common contrast mistakes:
- Dark blue code on a black background
- Light gray code on white paper
- QR code placed over a busy photograph or gradient
- Using brand colors that look good but have low contrast ratios
The fix: Always use dark modules on a light background. Black on white is the most reliable combination. If you must use brand colors, test the contrast ratio -- aim for at least 4:1. Never place a QR code on top of an image or textured background.
3. The QR Code Is Physically Damaged
Scratches, smudges, creases, water damage, and wear can obscure modules and make the code unreadable. This is especially common with cards that spend time in wallets, pockets, or on event lanyards.
The fix: Use a higher error correction level when generating the code. QR codes support four error correction levels:
- Level L -- Recovers up to 7% of damaged data
- Level M -- Recovers up to 15%
- Level Q -- Recovers up to 25%
- Level H -- Recovers up to 30%
For printed materials that will be handled frequently, use Level Q or H. Our LinkedIn QR Code Generator uses Level H by default, which provides maximum damage tolerance and also allows a logo to be placed in the center.
4. Camera or Lighting Problems
Sometimes the issue is not the QR code itself but the scanning conditions.
Common scanning environment issues:
- Dim lighting -- The camera cannot capture enough detail in low light. Move to a brighter area or use the phone's flashlight.
- Glare -- Glossy card finishes or laminated surfaces can create reflections that interfere with scanning. Tilt the card to reduce glare.
- Dirty camera lens -- A smudged lens blurs the image just enough to prevent recognition. Clean the lens with a soft cloth.
- Too close or too far -- Hold the phone 10-25 cm (4-10 inches) from the code. Too close and the camera cannot focus; too far and the modules become too small.
The fix: Before blaming the code, try scanning in good lighting with a clean lens at the proper distance. If it works under these conditions, the code itself is fine -- the issue is environmental.
5. The Error Correction Level Is Too Low
If you generated a QR code with a logo or image overlay but used a low error correction level, the logo may be covering modules that the code needs to be readable.
The fix: Always use Level H (30% error correction) when adding any logo or design element to the center of a QR code. Level L or M will not tolerate the data loss caused by a center overlay. Regenerate the code with higher error correction.
6. You Did Not Test Before Batch Printing
This is the most preventable mistake. Printing hundreds or thousands of cards without scanning the QR code first means any issue -- wrong URL, broken link, insufficient size -- gets multiplied across your entire print run.
The fix: Always follow this testing checklist before sending to print:
- Scan the QR code on your screen with at least two different phones (iPhone and Android).
- Verify the URL it opens is correct and the page loads properly.
- Print a single test copy at actual size.
- Scan the printed test copy in different lighting conditions.
- Have someone else scan it -- fresh eyes catch problems you overlook.
7. The QR Code Needs to Be Regenerated
Sometimes the issue is the code itself. If you used a QR code generator that creates dynamic codes tied to a redirect service, the redirect URL may have expired or the service may have shut down. Free dynamic QR code services frequently impose scan limits or expiration dates.
The fix: Use static QR codes whenever possible. A static code encodes the destination URL directly in the pattern -- no redirect, no expiration, no third-party dependency. Our LinkedIn QR Code Generator creates static codes that link directly to your LinkedIn profile URL, so they will work indefinitely.
If your existing code links to a dead redirect, you will need to regenerate a new static QR code and reprint.
8. SVG vs PNG: Using the Wrong Format for Print
The file format you download affects print quality. If you download a small PNG file and then scale it up for a large poster, the image becomes pixelated and individual modules blur together, making scanning unreliable.
The fix:
- For business cards and standard print -- Download a high-resolution PNG (1024 x 1024 pixels or higher). This provides enough detail for any business card size.
- For large format or designer workflows -- Download SVG. Vector graphics scale to any size without quality loss, making SVG ideal for posters, banners, and professional design software.
- Never upscale a low-resolution PNG -- If the original is only 200 x 200 pixels, scaling it to fill a poster will destroy scanability. Regenerate at a higher resolution or use SVG instead.
Generate Your LinkedIn QR Code Now
Create a free, print-ready QR code with the LinkedIn logo for your business card.
Go to Generator →