How to improve QR code readability
Sharper codes mean fewer abandoned scans, less customer frustration, and better data on campaign performance. Small design fixes — contrast, size, error correction — turn a shaky code into one that scans instantly, every time.
Key Takeaways
- Contrast between the code and its background matters more than color choice — dark modules on a light background almost always outperform inverted or tinted combinations.
- A blank quiet zone of at least four modules around the code gives scanner apps a clean edge to lock onto, especially on cluttered packaging or flyers.
- Print resolution below 300 DPI is the single most common cause of blurry, unreadable codes on physical materials like flyers and posters.
Why do so many QR codes look fine on a screen but fail the moment they're printed or scanned in a dim hallway or outside at nighttime? The gap between "looks scannable" and "actually scans" is where most campaigns quietly lose customers.

According to a recent industry report, 39% of consumers say their device simply cannot detect or read a QR code when they try. That's not a camera problem — it's almost always a design, sizing, or print problem that could have been caught earlier in the design process.
The good news is that readability is often fixable, and doing so doesn't require redoing your whole design. It usually comes down to five or six variables: contrast, quiet zone, module size, error correction level, print resolution, and testing under real conditions. Get those right and your scan success rate climbs dramatically — scanability testing data shows well-designed codes with proper contrast and error correction scan successfully over 95% of the time, versus 60-70% for poorly built ones.
Step-by-step: fixing a hard-to-scan QR code
Most readability problems trace back to one of a handful of fixable causes. Work through these steps in order — they're listed roughly by how often they turn out to be the culprit.
Step 1: Check your contrast ratio
Pull up your code next to its intended background and squint at it from a few feet away. If the pattern blurs together, so will a phone camera's autofocus. Stick with dark modules on a light background whenever possible — black on white is the gold standard, and light-on-dark inversions frequently trip up scanner apps even though they look striking in a mockup, so review our QR code design tips before finalizing a custom look.
Step 2: Give it breathing room
The quiet zone — the blank margin surrounding the code — needs to stay clear of text, logos, and borders. A common mistake is cramming a code into a corner of a flyer or business card to save space, which shrinks the quiet zone below the minimum a scanner needs to detect the code's edges. Leave at least four modules of empty space on all four sides.
Step 3: Size it for the scanning distance
A code meant to be scanned from three feet away, like signage in a store window, needs to be noticeably larger than one meant for a table tent scanned from six inches. A rough rule: the code's width should be at least one-tenth of the expected scanning distance. Undersized codes on restaurant menu cards are a frequent complaint from diners squinting at their phones.
Step 4: Match the error correction level to the environment
Error correction lets a code stay readable even when part of it is damaged, dirty, or partially covered by a logo. Codes destined for high-wear environments — vehicle wraps, outdoor signage, product packaging — need a higher correction setting than a code printed once and read on a clean screen. Choosing the right level upfront saves you from reprinting materials later.
Step 5: Test the actual printed or displayed version
A code that scans perfectly on your laptop screen doesn't guarantee the printed version will behave the same way. Print a physical proof, place it where it will actually live — on the fridge, the shop window, the parcel label — and test with two or three different phone models before finalizing thousands of copies. This step catches issues that no amount of on-screen review will reveal.
Pro tips for consistent scan rates
Once the basics are fixed, these details separate a code that mostly works from one that works reliably across devices, lighting conditions, and printers.
Avoid glossy laminate over codes destined for outdoor use — glare from direct sunlight can wash out contrast even on a well-designed code.
Skip decorative fonts or overlays layered directly on top of the pattern; any element that touches the code's modules risks breaking scannability regardless of correction level.
Use a free QR code generator that lets you preview the code at actual print size before exporting, rather than judging it only on a zoomed-in screen view.
Run a static color check under warm and cool lighting — some color combinations that pass in daylight fail under fluorescent store lighting.
Keep a printed swatch on hand as a physical reference when working with different printers, since toner and ink can render the same file with noticeably different sharpness.
Frequently Asked Questions
Why does my QR code scan on my phone but not on others?
This usually points to a contrast or size issue that only shows up on cameras with weaker autofocus or older scanning apps. Test across a few different phone models and lighting conditions rather than relying on a single device.
Does adding a logo always hurt readability?
Not if the error correction level is set appropriately and the logo covers a small enough portion of the code. Problems arise when a large logo is dropped onto a code with low error correction, leaving too little data intact for the scanner to reconstruct.
What's the minimum print size for a QR code?
A commonly cited minimum is about 1 inch by 1 inch (2.5 cm) for close-range scanning, but the right size depends entirely on expected scanning distance — larger codes are needed for signage or packaging viewed from further away.
Can a colored QR code still be readable?
Yes, as long as there's strong contrast between the foreground and background colors. Dark blue on white or dark green on light gray can work well; pastel-on-pastel combinations tend to fail.
Related Guides
Ready to create your QR code?
Generate custom QR codes in seconds - free and easy to use.
Create Free QR Code →