How to Add a Logo to a QR Code Without Breaking It
Logos look great in the center of a QR code, but they hide data. This guide explains error correction and the safe way to brand your codes.
A QR code with your logo in the center looks polished and on-brand. Done right, it reinforces your identity on every scan. Done wrong, it stops scanning — and a beautiful code that no phone can read is just art. This guide shows how to add a logo safely.
Why logos can break a QR code
A QR code is a grid of dots that encodes data plus error-correction data. When you place a logo over the center, you cover some of those dots. If you cover too many, the code cannot be decoded — even though it still looks like a QR code.
The saving grace is error correction. QR codes can be generated with four levels of error correction — L (7%), M (15%), Q (25%), and H (30%). The percentage is how much of the code can be obscured or damaged and still scan. A higher level means more redundancy, which means more room for a logo.
The role of error correction
When you add a logo, you need error correction set to H (high), which tolerates up to 30% of the code being obscured. That redundancy is what lets the code survive the logo covering its center.
This generator automatically sets error correction to H the moment you upload a logo. You do not have to remember — it just protects scannability.
The trade-off is that higher error correction produces a denser code for the same amount of data. So a logoed code with a long URL will have more, smaller dots than the same URL without a logo. Keep your content concise to keep the code clean.
Step 1: Prepare your logo
The best logo for a QR code is a square PNG with a transparent background. Transparency lets the code's dots show through around the logo, keeping the code readable. A logo with a solid background creates a hard block that hides more data.
- Format: square PNG with transparency (JPG and WebP also work, but transparent PNG looks cleanest).
- Size: at least 200 × 200 px for crisp printing.
- Simplicity: a simple mark scans better than a detailed photo.
- Color: high contrast against the code background.
Step 2: Generate and upload
Open the QR code generator with logo, enter your content (a URL works great), expand the Customize panel, and upload your logo. The generator places it in the center, sized to about 30% of the code — the safe maximum.
A coffee shop uses its cup icon as a logo over a URL code linking to its menu. With error correction at H and the logo at 30%, the code scans reliably while looking unmistakably on-brand.
Step 3: Keep the logo under 30%
Even at error correction H, a logo that covers more than about 30% of the code area risks read failures. The generator sizes the logo to the safe maximum by default, but if you tweak it manually, do not go larger.
If your code will not scan with the logo, shrink the logo first. If it still fails, simplify your content (shorten the URL) to reduce the code density.
Step 4: Match colors carefully
The logo and the dots both need to read against the background. Keep the dots dark and the background light. If your logo is dark, add a small white or light pad behind it so it does not blend into dark dots.
Avoid reversing the code (light dots on a dark background) when using a logo — most cameras struggle with reversed codes, and the logo compounds the difficulty.
Step 5: Test on multiple phones
A logoed code must be tested more carefully than a plain one. Scan it with at least two different phones, in decent light, from a realistic distance. If any phone struggles, shrink the logo or simplify the content and test again.
Test the printed version too, not just the on-screen preview. Printing can introduce subtle contrast changes that affect scanning.
When a logo is worth it
A logo adds the most value on branded materials — business cards, product packaging, event badges, retail signage — where recognition matters. For a one-off flyer or a personal Wi-Fi code, a plain code is simpler and scans more reliably.
Common mistakes
- Using a logo with a solid background instead of transparency.
- Making the logo larger than 30% of the code.
- Lowering error correction below H after adding the logo.
- Using a detailed photo as a logo instead of a simple mark.
- Not testing on multiple phones before printing in bulk.
Brand without breaking
A logoed QR code is a small touch that makes a big difference in perceived quality. Keep the logo small and transparent, let error correction do its job, and test before you print. Your codes will look branded and scan every time.
Try it yourself
Generate the code from this article in your browser — free, no sign-up.
Frequently asked questions
Will the code still scan with a logo in the middle?
Yes, as long as the logo covers no more than about 30% of the code. This tool sets error correction to H automatically to protect scannability.
What logo format works best?
A square PNG with a transparent background. JPG and WebP also work, but transparent PNGs look cleanest in the center.
Is my logo uploaded to a server?
No. The logo is read and placed in your browser only. It is never transmitted or stored anywhere.
How big can the logo be?
About 30% of the code area is the safe maximum at error correction H. Going larger risks read failures.
Can I use a logo with any QR type?
Yes. The logo works on URL, Wi-Fi, vCard, and every other content type this generator supports.