My camera sees the QR code but nothing happens: what should I check?
Updated September 14, 2026 · 3 min read
When a camera holds on a code and nothing opens, it is finding the pattern but failing to decode it. Six things cause almost every case: low contrast or inverted colours, no clear margin, a logo covering too many dots, pattern density set too high, glare or curvature on the surface, and a code printed too small. Work through them in that order — the first three are the answer most of the time.
Contrast and inverted colours
Scanners expect a dark pattern on a light background. Light dots on a dark background are read by far fewer phones, and pale pastel dots on white are read by almost none.
Open the code, go to QR Design → QR Code Style and set Dots Color much darker than Background. If the colours are the wrong way round, the Invert button swaps them in one click. The hint under the pickers says the same thing: use high-contrast colours for reliable scanning.
A gradient or photo behind the code counts as background. If any part of it comes close to the dot colour, the decoder loses the grid in that corner.
Margin, logo and density
These three are all in the wizard and all fixable without changing the destination:
- Margin. QR Design → QR Code Style → Margin, a 0–50 px slider. The code needs clear space on all four sides, roughly 10% of its width. A margin of 0 with artwork pressed against the pattern is a reliable way to break detection.
- Logo size. Under Add Logo, Logo size runs from 20% to 50% of the code's width. 50% is a lot of covered dots; if the code is marginal, bring it down towards 20%. Error correction is locked to H whenever a logo is present precisely because the covered dots need the extra recovery budget — but recovery has a limit.
- Pattern density. QR Design → Advanced → Pattern Density offers Auto, Dense (49×49) and Ultra (57×57). Dense and Ultra look finer but pack far more dots into the same square. On print, and on any small code, choose Auto.
Changing the design of a dynamic code regenerates the image you download; the link encoded inside it does not change, so anything already printed keeps working.
The surface and the size
| Symptom | Likely cause | Fix |
|---|---|---|
| Works at an angle, not straight on | Glare from gloss laminate, varnish or a screen | Tilt the phone, move the light, or print matte over the pattern |
| Works flat, not on the product | Curvature on a bottle, cup or tube | Print larger, or move the code to a flat panel |
| Works close up only | Printed too small for the distance | At least 2 cm square hand-held; scanning distance ÷ 10 beyond that |
| Edges look fuzzy or dots run together | A raster file scaled up, or low print resolution | Download SVG or PDF and send the vector file |
| Part of the pattern is missing | Crease, scuff, sticker over it, or a frame cropped at trim | Replace the piece; keep the code away from folds and trim lines |
Codes shown on a screen
A code displayed on a phone, laptop or TV has its own failure modes:
- Turn the brightness up. A dimmed screen with auto-brightness on is the most common reason a screen-to-screen scan fails.
- Turn off dark mode on the page showing the code, or check the code has not been inverted by it.
- Stop the screen moving. Scrolling, animation and a slideshow that advances mid-scan all prevent a lock.
- Watch for a matte screen protector or a dusty display, which scatter just enough light to matter.
Common problems
It decodes on one phone and not another
The code is working right at its margin. Every fix above buys headroom; do two or three of them rather than looking for the one culprit.
The camera opens a link but the wrong one
Two codes near each other can both be in frame. Crop the shot to a single code, or move them apart in the layout.
It decodes, then shows an error page
That is not a camera problem. The titles and their fixes are in what each scan-time error page means.
Frequently asked questions
Why does the camera highlight the code but never open anything?
It has detected a pattern but cannot decode it. Contrast, a missing margin and an oversized logo cause most of these — fix those three first.
How big can the logo be?
The slider allows 20% to 50% of the code's width. Large logos work on big, clean prints and fail on small ones, so use the smallest size that still reads.
Should I use Dense or Ultra pattern density?
Not for print, and not for any small code. Auto picks the smallest grid the content fits into, which is the most robust choice.
Can I fix a code that is already printed?
You can change where a dynamic code points, but not its printed pattern. A code that will not decode has to be redesigned and reprinted.
Does a frame affect scanning?
Only if it crowds or crops the pattern. Keep the clear margin inside the frame, and check the proof in case the trim has cut into it.
Related articles
Why won't my QR code scan on an iPhone?
Check that Settings → Camera → Scan QR Codes is on, then wait for the banner and tap it. If that is fine, check the code's size, contrast and margin.
Why won't my QR code scan on Android?
Check whether your camera app has a QR toggle, or use Google Lens instead. If other codes scan fine, check the printed size, contrast and margin on yours.
What do error correction and pattern density do?
Error correction sets how much damage a code survives; density sets how many modules it is drawn with. Both live in Advanced on the QR Design step.
How do I add a logo to my QR code without breaking it?
Open Add Logo on the QR Design step, pick a preset or upload a file under 2 MB, and set the size. Error correction jumps to H so the code still scans.
What size should I print my QR code?
Print at least 2 cm square for a phone held close. Further away, divide the scanning distance by 10. Always leave a clear margin around the pattern.
Still stuck?
Email support@qrcodestack.com with the email on your account and, if it is about one code, its name or short link. A person replies within one business day, usually sooner.