How to add your logo to a QR code (and keep it scannable)
A logo in the middle of a QR code looks great, until it stops scanning. Here is the error-correction trick that keeps it working, and the one test you must never skip.
A logo in the centre of a QR code makes it look like yours, not a generic black-and-white square. Done wrong, it also stops the code from scanning — and a code that fails silently on a printed sticker can't be recalled. Here's how to add a logo safely.
Why a logo can break a QR code
A QR code is a grid of modules the camera reads back as data. Cover some of those modules with a logo and you've physically removed part of the data. Push it too far and the phone can no longer reconstruct the code.
The trick: error correction
QR codes have built-in redundancy called error correction, in four levels — L, M, Q and H. At the highest level, H, roughly 30% of the code can be damaged or obscured and it will still scan. That headroom is exactly what lets a centred logo work: generate the code at level H, and the modules under the logo fall inside the recoverable margin.
The trade-off is that higher error correction packs in more modules, so the pattern gets a little denser. That's a fair price for a code that survives a logo — and a printer's smudge.
The rules that keep it scanning
- Generate at error-correction level H. This is non-negotiable for a logo.
- Keep the logo small — about 20–25% of the code's area, no more. Bigger looks bolder and scans worse.
- Centre it, with a little clear halo. A small quiet ring of white around the logo helps the camera separate it from the data.
- Don't recolour into low contrast. Dark code on a light background reads best; a pale-on-pale "branded" look is a common way logo codes fail.
The test you must never skip
After the logo is added, decode the finished code — actually scan it — at the size you'll print it, on more than one phone. A QR that looks perfect on screen can still fail once it's shrunk onto a sticker. This is the step DIY logo generators quietly skip, and it's why so many printed "designer" QRs in the wild don't work.
That decode-test is exactly the guard on our own logo add-on. The code is generated at the highest error correction. The logo is capped to a safe size. Then the finished code is decoded by software before it is handed over. If it does not read, it is not delivered, and we try a smaller logo first. A pretty code that doesn't work is worse than a plain one that does.
How to get one
Doing this safely takes extra work on every single code, so the logo is a paid add-on ("Brand it with your logo") on any plan, not part of the base price. Tick it at checkout, upload your logo in the dashboard, and the guard above runs before you download. You never end up with a good-looking code that won't scan.
Prices, GST shown upfront, are on the pricing page.