QR code generator with logo

Upload your logo once and stamp it into every QR code in the batch. Error correction switches to H automatically, and the size slider warns you before the logo eats too much of the code.

1 Your data

0 rows · 0 ready

2 Code type & look

Error correction

3 Preview & export

First 0 of 0. Everything is generated in your browser.

Add some rows in step 1 and your labels appear here.

·

How a logo fits inside a working QR code

A QR code stores your data twice over: the message itself plus Reed–Solomon error-correction codewords. When part of the pattern is covered, a scanner uses those extra codewords to rebuild what's missing. Level H spends about 30% of the code's capacity on that recovery data, which is what makes room for a logo.

The catch is that recovery is shared with real-world wear: scratches, glare, a crease in the flyer. A logo covering 25% leaves only a thin margin. You can see exactly where the limit sits, and try it with a real decoder, in the error correction explainer.

Rules that keep branded codes scannable

  • Keep the logo in the centre. The three big corner squares (finder patterns) must never be covered.
  • Stay dark-on-light. Brand colours are fine if they're dark enough: the generator flags contrast below 3:1.
  • Short URLs make bigger modules, which leaves more room around the logo.
  • Print one proof and scan it with two different phones before the full run.

Questions people ask

Does a logo stop a QR code from scanning?
Not if it is sized sensibly. The logo hides some modules; error-correction level H lets a reader rebuild up to about 30% of the data. Keeping the logo around 20–25% of the width leaves a safety margin. Always test-scan a printed proof.
What logo file works best?
A square PNG with transparency or an SVG. A white plate is drawn behind the logo so it stays legible on any code colour. Files up to 600 KB are accepted.
Can I use a different logo per row?
One logo is applied to the whole batch. Run separate batches for different brands.
Why is error correction locked to H?
Covering the centre is deliberate damage. Level H gives the most recovery, so the code survives the logo plus normal wear.

Related tools