Quick answer
Set the error correction level to H. Center the logo. Keep it to roughly 25% or less of the total code area, and never let it touch the three corner squares or the blank margin around the edge. A logo covering part of a QR code is treated by the scanner the same way as dirt or print damage — it's data loss the code has to reconstruct. Level H recovers about 30% of the code's data, the most headroom of the four levels, which is why it's the right default here instead of the Level M most generators reach for by default. For the mechanics of how that recovery actually works, see how QR code error correction works.
Step-by-step
Pick Level H before you design anything
Set error correction to H first. Retrofitting a logo onto a code already generated at Level M or L usually means starting over — the lower levels just don't leave enough error budget to absorb a logo-sized gap in the data.
Size and center the logo
Keep the logo centered and under about 25% of the code's total area. Placement matters here because the three finder patterns in the corners are what the scanner uses to locate the code in the first place. Cover one, and the scanner can't find the code at all — no matter how high you've set the error correction level. The blank quiet-zone margin around the outside edge needs that same hands-off treatment.
Generate, then verify
Use a generator that renders the logo directly into the code's data area, not a flat image pasted on top afterward. That distinction is often what separates a code that scans on every phone from one that only scans sometimes. A bigger logo at Level H can also push the code into a larger version to keep enough data capacity — check how much data a QR code version can hold if the code is carrying more than a short URL.
Common problems and fixes
A logo that's too big or off-center is the most common failure. Shrink it, re-center it, and check again before touching anything else. Low contrast is the second most common one — a transparent or pale background behind the logo makes the code harder for a camera to read in anything less than perfect lighting, so give it a solid background instead. Still not scanning? The payload itself may be too large for the version you picked. A long tracking URL eats into the same capacity the logo needs, so a shortened link is often the actual fix. For anything else, run through the general QR code won't scan troubleshooting checklist.
Doing this on QRDock specifically
QRDock lets you set error correction to H and drop a logo in during code creation — one step, not two. It also runs a scan test before you export, so a broken code gets caught on your screen instead of on a printed flyer or menu. Try it at qrdock.app.
Frequently Asked Questions
What's the best error correction level for a QR code with a logo?
Level H, which restores about 30% of the code's data, gives you the most room to cover part of the code with a logo and still have it scan reliably. Level M — the default most generators use — only restores about 15%. Not enough headroom once a logo is sitting on top.
How big can a logo be before a QR code stops scanning?
Keep it to roughly 25% or less of the total QR code area, centered, and clear of the three corner squares and the outer quiet zone. Past that point, the error correction has to reconstruct more of the code than its level allows, and scans start failing intermittently — often on cheaper phone cameras first.
Can I put a logo in the corner of a QR code instead of the center?
No. The three squares in the upper-left, upper-right, and lower-left corners are finder patterns — the scanner uses them to locate the code before it even reads the data. Cover one and the scanner can't recognize there's a QR code there at all, regardless of error correction level. The center is the only safe zone.
Do I need special software to add a logo to a QR code?
You need a generator that lets you set the error correction level to H and place an image in the center safely. QRDock does both in the same flow, so there's no hand-editing afterward that risks the exact kind of deformation that breaks scans.
Conclusion
Level H. A centered logo under about 25% of the code area. Hands off the finder patterns and the quiet zone. That combination is what keeps a branded QR code scannable instead of just decorative. Test the finished code on more than one phone before it goes on anything printed at scale.