# How to add a logo to a QR code without breaking it

> Published 2026-04-02 · 7 min read · By QR Code Easily
> Canonical: https://qrcodeeasily.com/blog/qr-code-with-logo/

**TL;DR** — Yes, you can put a logo in the middle of a QR code. Two rules: **(1)** the logo should cover at most 22–25% of the QR area, and **(2)** use error correction level **H** (~30% recovery). Center the logo, give it a small white pad behind it, and always test with a real phone before printing. Our generator handles all of this automatically.

## Why does adding a logo work at all?

QR codes have built-in **error correction** (Reed–Solomon codes — same math used to recover data from scratched CDs and Voyager probes). Up to a percentage of the code can be obscured, dirty, or missing, and the scanner can still recover the data.

Four levels:

- **L** — recovers ~7% of damaged data
- **M** — recovers ~15%
- **Q** — recovers ~25%
- **H** — recovers ~30%

When you place a logo over the center, 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**.

- 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

Bigger logos eat into the error correction margin you need for real-world damage (smudges, low light, motion blur).

**Rule 2: use error correction level H.** This gives you the ~30% recovery margin. M and below will fail. Q is borderline. H is safe.

Trade-off: H-level QR codes hold less data. For typical URLs (under 100 chars) this is invisible. For very long data (a 2 KB vCard) you may need to make the QR slightly bigger.

## Step-by-step in our generator

1. **Open the generator** at [qrcodeeasily.com](https://qrcodeeasily.com/) and pick the QR type (URL is most common)
2. **Fill in the data** — the QR appears immediately
3. **Upload your logo** — click "Upload image" in the customize panel. Choose a PNG, JPEG, or SVG file (under 2 MB). Behind the scenes, error correction bumps to H and logo size is capped at 22% of the QR area
4. **Test before printing** — always scan the result with your phone

## Best practices for logos

- **Use a transparent or white background.** Logos with transparent PNG backgrounds blend cleanly into the QR's white pad. Our generator places a small white pad behind the logo automatically.
- **Square or roundish logos work best.** The center pad is roughly square. A wide horizontal logo (wordmark) leaves wasted space. Use the icon/symbol part of your brand.
- **High-contrast logos read better.** A solid dark logo on a white pad reads decisively as "not part of the code." A faint or pastel logo can confuse older scanners.
- **Vector (SVG) logos > raster.** Scales perfectly with the QR and embeds cleaner.

## Common mistakes

- ✗ 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)
- ✓ Logo at 20–22% of QR area
- ✓ White pad behind the logo
- ✓ Logo perfectly centered
- ✓ Tested on multiple phones

## Special cases

**QR-in-QR (logo IS a tiny QR):** gimmicky and usually unscannable for both. Don't do this for production.

**Animated logos / GIFs:** QR codes are static images by definition. You can't put an animated logo inside a printable QR.

**Rounded / dotted QR styles:** logos work with any module style — square, rounded, smooth blob. Error correction is independent of visual style.

> **Real-world tip:** test with at least three different phones — an old Android, a recent iPhone, and a budget device. iPhones are forgiving; older Androids are the toughest test.

## What if it still won't scan?

If you've followed the rules and your code still fails:

1. **Make the logo smaller** — drop to 18% of QR area
2. **Increase the white pad** behind the logo by 30%
3. **Increase QR size in print** — bigger QR is more forgiving
4. **Drop the logo** if all else fails — sometimes a bare QR is the right answer

## Related guides

- [How to make a QR code for free — complete guide](https://qrcodeeasily.com/blog/how-to-make-a-qr-code/)
- [Why my QR code doesn't scan — 8 common mistakes](https://qrcodeeasily.com/blog/why-my-qr-code-wont-scan/)
- [How big should you actually print a QR code?](https://qrcodeeasily.com/blog/qr-code-sizes/)
