Drop your logo in the middle without losing the scan
A logo sits in the centre of a URL code, and the trick to keeping it readable is error correction: set it to H so the covered modules are rebuilt from the redundant data around them. The link itself is short, so a website QR has plenty of spare capacity to give up to a mark.
The centre is deliberate. QR codes carry their most recoverable data toward the middle and their alignment anchors in the three corners, so a mark placed dead-centre disturbs the least. Cover a corner square instead and even H-level correction can't save the scan.
Fill the form to generate a QR code
Why the logo goes in the middle at level H
High error correction reserves roughly 30% of the code for recovery. When your logo blanks out the centre modules, a scanner reconstructs them from that reserve, so the code still resolves to your link.
Keep the logo under about 30% of the total area. Push past that and you exhaust the recovery budget — the phone sees the pattern, tries to decode, and returns nothing. Smaller and centred always beats big and bold here.
A short link leaves room to spare
A URL code usually encodes a few dozen characters, well under the 2,953 the format allows. That low fill is your friend: fewer modules means larger, chunkier squares that survive a logo far better than a code crammed near its limit.
If you're linking to a long tracking URL with many parameters, the code gets denser and the modules shrink. Shorten the link first — a clean domain both scans better under a logo and looks less suspicious to the person scanning.
Contrast and the quiet zone
The logo must not bleed into the surrounding pattern. Give it a small solid-colour pad so there's a clean edge between mark and modules, and keep the empty margin around the whole code — the quiet zone — intact.
Match the logo's dark parts to the code's dark modules where you can. A logo that's lighter than the pattern behind it confuses the scanner's read of where a module ends and the picture begins.
- Centre only — never over a corner finder square.
- Solid pad behind the logo for a clean boundary.
- Leave the outer margin untouched.
How to add a logo to your link code
- Paste the url. Enter the destination in the url field. Shorten long tracking links first so the code stays low-density and logo-friendly.
- Raise error correction to H. Switch the level to H before adding art. The common mistake is dropping a logo on a default code and wondering why it won't scan.
- Add the logo, keep it small. Place it centred and under 30% of the area. A pad of solid colour behind it keeps the edges clean.
- Scan before you export. Test with two phones from about 30 cm. If it hesitates, shrink the logo a notch and try again.
Technical details
- Maximum characters: 2953
- Recommended error correction: H (high) — a center logo covers modules, and high recovery lets scanners rebuild them
- Payload is a plain https link; keep it short so the code stays low-density and tolerates a logo.
- The logo overlay is cosmetic and does not alter the encoded URL.
Frequently asked questions
- Do I need to change error correction to add a logo?
- Yes. Set it to H before placing the logo. High correction reserves about 30% of the code as redundant data, which the scanner uses to rebuild the modules your logo covers. On the default level, a centred logo often blocks enough modules to kill the scan.
- How big can the logo be on a URL code?
- Keep it under roughly 30% of the total area. Because a website link is short, the code has spare capacity, but the logo still eats into the recovery budget. If scans start failing, the logo is almost always too large — shrink it first.
- Why does my link code scan without the logo but not with it?
- The logo is covering more modules than the error correction can recover, or it sits over a corner finder square. Move it dead-centre, raise the level to H, and reduce its size until it reads on the first try.
- Does adding a logo change where the link goes?
- No. The logo is purely visual and sits on top of the pattern. The encoded URL is unchanged, so the code still opens the same page — the mark only affects readability, never the destination.
- Can I use a transparent PNG logo?
- You can, but a transparent logo lets the pattern show through and blur the boundary. Give it a solid background pad so there's a clean edge between the mark and the surrounding modules, which scanners read more reliably.
- Will a coloured logo affect scanning?
- Not by itself, as long as the code's own pattern stays dark on a light background. The logo's colours are irrelevant to the decoder; only the module contrast matters. Keep the pattern high-contrast and the logo can be any colour you like.