How to Create a QR Code With a Logo (Without Breaking It)

5 min read

A step-by-step guide to adding your logo to a QR code — how much of the center you can safely cover, which error correction level to use, and how to test before printing.

Adding a logo to a QR code is the most common customization request, and also the most common way people accidentally ship a code that doesn’t scan.

The good news: QR codes are designed to survive damage. The bad news: that tolerance is finite, and “it scanned on my iPhone” is not a test.

Why you can cover part of a QR code at all

QR codes use Reed–Solomon error correction — the same family of math that keeps scratched CDs playable. Redundant data is baked into the pattern, so a scanner can reconstruct information it can’t directly see.

There are four levels, and you choose one when you generate the code:

Level Recoverable Practical use
L (Low) ~7% Clean digital display, no overlay
M (Medium) ~15% Default for most codes
Q (Quartile) ~25% Small overlays, mild print wear
H (High) ~30% Center logos, harsh environments

Higher correction means more redundant data, which means a denser pattern for the same content. That’s the trade-off: level H codes look busier and need to be printed slightly larger.

For a logo, use H. Always.

The 20 percent rule

Level H recovers about 30 percent of the code. It is tempting to treat that as your logo budget. Don’t.

Keep your logo under 20 percent of the total code area. The remaining headroom absorbs the things you can’t control:

  • Ink bleed and registration drift on cheap printing
  • Low light, glare, and motion blur at scan time
  • Old or badly written scanner apps
  • Someone scanning at a steep angle from across a room
  • A scuff, a fold, or a raindrop

A code that decodes at exactly the theoretical limit in perfect conditions will fail in a restaurant at dinner. Design for the bad case.

Where the logo goes

Center only. This isn’t aesthetic preference — it’s structural.

The three large squares in the corners are finder patterns. They’re how a scanner locates the code and works out its orientation and scale before it reads anything. Cover a finder pattern and the scanner won’t fail to read the data; it will fail to notice there’s a code at all.

The smaller alignment patterns and the timing lines running between the finder squares matter too. The center of the code is the safest real estate, which is exactly why every logo QR code you’ve ever seen puts it there.

Also leave the quiet zone alone: the blank margin around the whole code, about four modules wide. Cropping it tight is a classic way to break an otherwise perfect code.

Step by step

  1. Prepare the logo. Use a square or near-square version with a transparent background — PNG or SVG. A wide horizontal wordmark forces you to cover too much width to be legible.
  2. Add a solid backing. Place the logo on a small solid-colour pad, usually white or your background colour. This gives the scanner a clean boundary instead of a ragged edge fading into the pattern.
  3. Set error correction to H before generating.
  4. Keep contrast high. Dark pattern on light background. Never invert it — many scanners only look for dark-on-light. If you’re colouring the code, keep a contrast ratio of at least 4:1 against the background.
  5. Size the logo conservatively. Start smaller than you think looks good. Scale up only if testing stays clean.
  6. Test properly — see below.
  7. Export at print resolution. At least 300 DPI for print, and vector (SVG) if you’ll ever scale it.

Testing, properly

This is the step people skip, and it’s the only one that matters.

  • Test on at least three devices, including one older Android phone.
  • Test with a dedicated scanner app, not just the native camera. Native cameras on recent phones are unusually good and will hide problems.
  • Test at final printed size, not zoomed in on a monitor. A code that scans beautifully at 400px on screen may be 15mm on the actual flyer.
  • Test in realistic light — dim restaurant, glare-heavy shop window, whatever the code will actually live in.
  • Test at an angle and from a distance, the way a real person scans.
  • If it’s going to print, test a physical proof before the full run.

If any test fails: shrink the logo first, then increase the code’s printed size. Those two levers fix nearly everything.

Colour, and where it goes wrong

Branded colours are fine within limits:

  • Dark foreground, light background. Non-negotiable.
  • Avoid low-contrast pairs — mid-grey on white, navy on black.
  • Avoid gradients across the pattern. They tend to wash out the modules at one end.
  • Red-on-white is riskier than it looks for some older scanners; test it.

Common failure modes

  • Logo too large. By far the most common cause. Shrink it.
  • Logo over a finder square. The code becomes undetectable, not just unreadable.
  • Quiet zone cropped. Add the margin back.
  • Inverted colours. Light pattern on dark background fails on many scanners.
  • Printed too small. See our QR code size guide for the distance-to-size math.
  • Error correction left at M. The logo eats more than the code can recover.

A note on what happens after the scan

A logo makes people more likely to trust and scan your code — recognisable branding measurably lifts scan rates over an anonymous black-and-white square.

But if the destination might ever change, the logo is the second decision. The first is whether the code should be static or dynamic, because that one can’t be fixed after printing.

You can add a logo and set error correction on QRMage for free, and download at print resolution.

Frequently Asked Questions

Does adding a logo break a QR code?

Not if you keep the logo small and use a high error correction level. QR codes include redundant data that lets scanners reconstruct obscured areas, but that tolerance has limits — roughly 30 percent at the highest setting, and you should stay well below it.

How big can my logo be on a QR code?

Keep the logo under about 20 percent of the code's total area, even at the highest error correction level. That leaves headroom for print imperfection, poor lighting, and older scanners.

Which error correction level should I use for a logo QR code?

Level H, which can recover roughly 30 percent of obscured data. It makes the pattern denser but is the only level that reliably tolerates a center logo.

Why does my logo QR code work on my phone but not others?

Scanner quality varies widely. A newer phone camera can often decode a marginal code that an older one or a cheap scanning app cannot. Always test on at least three different devices before printing.

Put This Into Practice

Create a QR code in seconds — free, no sign-up required. Add tracking when you need to know who scanned.

✨ Free Forever • No Sign-Up Required • Instant Generation

Keep Reading