How to Make a Professional QR Code With Your Logo
A practical guide to elegant QR codes that actually scan — error-correction levels and the mistakes that break them.
A QR code bridges print and digital: business cards, menus, posters, packaging. Yet many beautifully designed codes fail to scan. Here's how to make one that is both attractive and reliable.
How does a QR code work?
It is a grid of black and white squares representing binary data. The large squares in three corners are "position patterns" — they tell the camera the code's orientation even if it is tilted or upside down.
Error correction: the setting most people miss
A QR code carries redundant data so it still reads when partly damaged. There are four levels:
- L — tolerates 7% damage
- M — 15%
- Q — 25%
- H — 30% ✅ choose this when adding a logo
Why? Because placing a logo in the middle covers real data. Level H provides enough redundancy to compensate, so the code still scans.
Rules for a centre logo
- Never exceed 25% of the code's width. Around 20% is safest.
- Put a solid backing behind the logo (in the code's background colour) to separate it cleanly.
- Never cover the three corners — doing so breaks scanning entirely.
Colour: one decisive rule
Cameras read contrast, not colour. So:
- ✅ Dark code on a light background — this is the norm.
- ⚠️ Inverted (light on dark) works on most modern phones but not all. Test it.
- ❌ Two colours of similar brightness (yellow on white) will almost certainly fail.
- ❌ Complex gradients confuse readers.
Size and printing
Rule of thumb: code width ≥ one tenth of the scanning distance. To scan from one metre, make it at least 10cm. For print, export at high resolution (1024px or more) or use SVG — being vector, it prints at any size without pixelation.
Common mistakes
- Not testing: test with two different phones before printing. Print mistakes are expensive.
- Removing the margin: the code needs empty quiet space around it.
- Very long URLs: they make the squares tiny and hard to read. Shorten the link.
- Not checking the link: make sure the page works and is mobile-friendly.
Try the tool free — it runs in your browser, nothing uploaded.
Try the QR generator →