QR QR Studio

design

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

Published 7 September 2026 · 3 min read

A logo in a QR code works because of error correction, the spare codewords that let a scanner repair damage. The logo is damage you chose. The job is to keep it inside the budget.

Step 1: set error correction to H

Level H lets a scanner recover about 30% of codewords. That is the budget for the logo plus real-world wear. Anything lower and a logo of useful size will push the code over the edge. The error correction explainer shows why the percentages are of codewords, not of the picture, which is why the safe logo size is smaller than 30%.

Do this

Level H, short link, logo covering 22% of the area.

Not this

Level L because it made the code smaller, logo covering 20%. Fails on the first scan.

Step 2: centre it

The three corner squares are finder patterns; the small square near the bottom-right is an alignment pattern. Cover any of them and the scanner cannot even find the code. The centre is the furthest point from all of them.

Do this

Logo centred, at least three modules clear of any finder or alignment pattern.

Not this

Logo shifted to the lower right for visual balance, covering the alignment pattern.

Step 3: size it by area

The logo safe-area tool blanks the modules under a logo of your chosen size and tries to decode the result, so its verdict is real. As a starting point:

Error correctionLogo area (of the whole code)
Hup to about 25%
Qup to about 20%
Mup to about 12%
Lnone

A logo that is 40% of the width covers 16% of the area; 50% of the width covers 25%. Wide logos cover less area than square ones at the same width.

QR code encoding https://getqrstudio.app/scan?c=logo-guide-1
Level H, plain. This is the code the logo will sit on.
QR code encoding https://getqrstudio.app/scan?c=logo-guide-2-with-a-longer-link-to-show-the-density
Same level, longer link: more modules, each one smaller, same logo covers more of them.

Step 4: give it a white margin

Logos have dark edges. Without a gap, the scanner reads those edges as modules and the damage spreads beyond the logo’s footprint. A margin of one module of white around the logo, or a white rounded rectangle behind it, fixes it. It also looks more deliberate.

Do this

Logo on a white rounded tile with a margin of one module all round.

Not this

Logo dropped straight onto the modules so its outline merges with them.

Step 5: shorten the content

Fewer modules means each module is larger and the logo covers fewer of them. A short link at version 3 tolerates a far bigger logo than a long tracking URL at version 8. Dynamic codes are short by nature.

Step 6: test with the worst phone you can find

Your phone is not the test. The oldest phone in the office, in the dimmest corner, at the real distance, is the test. Then run the exported artwork through the scannability tester.

Common mistake

Recolouring the modules to match the logo and pushing contrast down at the same time as adding the logo. Each is fine alone; together they fail.

The alternative: a frame

A frame puts the logo and a call to action outside the code. It costs nothing in error correction, keeps the code small, and is what most professionally designed codes do. Save the in-code logo for when the design really needs it.

Try it in QR Studio

Add a logo in QR Studio and the error-correction level moves to H automatically, a white tile is added, and the scannability check warns if the logo is still too big.

Checklist

  • Error correction H
  • Logo centred, clear of finder and alignment patterns
  • Logo area under 25%, checked with the safe-area tool
  • White margin or tile behind the logo
  • Content as short as possible
  • Tested on an old phone in poor light, then with the scannability tester

Try it yourself

Drag the size slider until the decoder says no. Then step back two notches. That is your maximum.

Find your logo's limit

Frequently asked questions

How big can the logo be?

At level H about 25% of the modules, at Q about 20%, at M about 12%. Level L cannot spare any. Measure by area covered, not by width.

Does the logo have to be in the middle?

It is the safest place, furthest from the finder and alignment patterns. Off-centre logos risk covering an alignment pattern and failing outright.

Why does my code with a logo scan on my phone but not on my colleague's?

You are at the edge of the error-correction budget. A better camera gets away with it, a worse one does not. Shrink the logo or shorten the content.

Can I put the logo outside the code instead?

Yes, in a frame above or below it. It costs no error-correction budget and often looks cleaner.

Related reading

Make yours in QR Studio

Unlimited static codes free, no ads, no watermark. AI design, dynamic codes and print-ready export when you need them.

Download on the App Store