How to add a logo to a QR code without breaking it
Logos in QR codes look great. They turn a bland scan-target into a branded visual element — Spotify, Coinbase, half the world's restaurant menus all use logo'd QR codes. The catch: if you do it wrong, the code becomes unscannable. Here's how to do it right.
Why does adding a logo work at all?
QR codes have built-in error correction. Every QR encodes its data with a layer of redundancy using Reed–Solomon codes, the same math used to recover data from scratched CDs and Voyager probe transmissions. Up to a percentage of the code can be obscured, dirty, or missing, and the scanner can still recover the original data.
There are four levels:
- L — recovers about 7 % of damaged data
- M — recovers about 15 %
- Q — recovers about 25 %
- H — recovers about 30 %
When you place a logo over the center of a QR code, you're effectively "damaging" some of the data. The error correction recovers it — as long as the damage stays within the recovery limit.
The two rules
Rule 1: keep the logo small
Cover at most 22–25 % of the total QR area. As a rough guide:
- If the QR is 5 cm wide, the logo should be no more than ~1.2 cm wide
- If the QR is 10 cm wide, the logo can be up to ~2.5 cm
It's tempting to make the logo bigger because it looks more impressive. Resist. Bigger logos eat into the error correction margin you need for real-world damage (smudges, low light, motion blur). At 30 % logo coverage, the QR works perfectly in studio conditions and fails in many real-world conditions.
Rule 2: use error correction level H
This gives you the ~30 % recovery margin you need. M and below will fail. Q is borderline. H is safe.
The trade-off: H-level QR codes hold less data (because more of the code is dedicated to redundancy). For typical URLs (under 100 characters) this is invisible. For very long data (a 2 KB vCard, say) you may need to make the QR slightly bigger to fit.
Step-by-step in our generator
Open the generator
Go to qrcodeeasily.com and pick the QR type (URL is most common).
Fill in the data
Type your URL or the relevant data for the type you chose. The QR will appear immediately.
Upload your logo
Click "Upload image" in the customize panel. Choose a PNG, JPEG, or SVG file (under 2 MB). The logo embeds in the center automatically. Behind the scenes, error correction bumps to H and logo size is capped at 22 % of the QR area.
Test before printing
Always scan the result with your phone before producing copies. If it scans cleanly, you're good.
Best practices for logos
Use a transparent or white background
Logos with transparent PNG backgrounds blend into the QR's white pad cleanly. Logos with their own colored backgrounds clash visually and reduce contrast. Our generator places a small white "pad" behind the logo automatically — this prevents your logo from sitting directly on QR modules.
Square or roundish logos work best
The center pad in the QR is roughly square. A wide horizontal logo (like a wordmark) leaves wasted space and looks awkward. Use the icon/symbol part of your brand if it's available — it'll look better in this context.
High-contrast logos read better
A solid dark logo on a white pad reads as decisively "not part of the code." A faint or pastel logo can confuse some older scanners. If your brand is multiple colors, consider a single-color version for QR contexts.
Vector (SVG) logos > raster
If you have an SVG version of your logo, use it. It scales perfectly with the QR and embeds cleaner. PNG works fine but at small sizes can show pixelation.
Common mistakes
✗ Don't do this
Logo at 40 % of QR area • Logo with no white pad behind it • Logo using one of the QR's modules as a "design feature" • Logo placed off-center (over a finder pattern)
✓ Do this
Logo at 20–22 % of QR area • White pad behind the logo • Logo perfectly centered • Tested on multiple phones before going to print
Special case: QR-in-QR (logo IS a tiny QR)
Some brands embed a small second QR inside their main one as the "logo." It's gimmicky and usually unscannable for both. Don't do this for production. It's fine for a one-off tweet for the novelty.
Special case: animated logos / GIFs
QR codes are static images by definition. You can't put an animated logo inside a printable QR. (For digital displays you could overlay an animated CSS element on top of a static QR div, but the resulting "QR" can't be saved or shared as a file.)
Will it work with rounded / dotted QR styles?
Yes. Logos work with any module style — square, rounded, smooth blob. The error correction is independent of visual style. Pick whatever style matches your brand aesthetic and add the logo on top.
What if it still won't scan?
If you've followed the rules and your code still fails on some phones, try in this order:
- Make the logo smaller — drop to 18 % of QR area
- Increase the white pad behind the logo by 30 %
- Increase QR size in print — bigger QR makes everything more forgiving
- Drop the logo if all else fails — sometimes a bare QR is genuinely the right answer
Add a logo to your QR right now
Free, no sign-up. Logo size is capped automatically at the safe 22 % limit, and error correction bumps to H whenever a logo is present.
Open generator