QR Code Generator

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

  1. Paste the url. Enter the destination in the url field. Shorten long tracking links first so the code stays low-density and logo-friendly.
  2. 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.
  3. 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.
  4. 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.

See also

Related generators