Learn › QR codes

How to make a QR code with a logo that still scans

A logo in the middle of a QR code works because QR codes are built to survive damage. It stops working when the logo is too big, the contrast too low, or the corner patterns are covered. Here are the limits.

6 min read · updated 25 September 2026

Why a logo does not break the code

Every QR code contains extra error correction data, calculated with Reed-Solomon codes, the same family of error-correction methods used on CDs. When part of the code is missing or unreadable, the scanner uses that extra data to rebuild what is missing. A logo in the center is, as far as the scanner is concerned, a patch of damage. If error correction can repair the damage, the code remains scannable.

Pick error correction level H

LevelRecovers aboutUse it for
L7%Clean digital screens, maximum data
M15%Most plain printed codes
Q25%Rough surfaces, small logos
H30%Codes with a logo, outdoor or industrial use

Higher levels leave less room for data, so the same link may require a higher QR version with more modules (the small squares). That is a fair trade for a logo, but it is another reason to keep the link short.

Level L
Level H · same link

How big the logo can be

The 30% figure for level H refers to codewords, not visible area, and your logo should use only part of that margin. The rest is needed for real-world problems: a smudge, glare on a glossy label, a slightly curved surface.

Barcode Pro places the logo on a card 22% of the code's width and checks every render with a decoder, so you can see immediately if a change goes too far.

Areas you must never cover

Colors and styling

Keep the content short

Longer content needs more capacity. A code for https://example.com/p/42 is much less dense than one carrying a long tracking link with several parameters. At a fixed print size, fewer modules make each one larger, leaving more room for a logo and allowing scans from farther away.

If you need tracking, use a short path on your own domain that redirects to the long link. Unlike a paid dynamic QR service, a redirect on your own domain keeps working as long as you keep the domain and the website running.

Size and distance

A rough starting point is that a QR code can be scanned from about ten times its width. A 25 mm code on a flyer reads from around 25 cm; a code on a poster seen from 2 m should be about 20 cm wide. Dense codes need more, so always test at the real distance. See the barcode size guide for more detail.

Test before you print

  1. Scan the code on a screen with at least two phones, one iPhone and one Android if you can.
  2. Print one copy at its intended size on the intended material.
  3. Scan it in poor light, at an angle, and from the distance people will actually use.
  4. Check that it opens the right page, and that the page works on mobile.

Frequently asked questions

How big can the logo in a QR code be?

With error correction level H, a centered logo covering about 10% or less of the code's area is a sensible target, and more is possible but riskier. Level H can restore about 30% of the codewords. That is not the same as 30% of the area, and the margin also has to cover print defects, glare and scratches.

Which QR error correction level should I use with a logo?

Level H, the highest. It lets the code recover roughly 30% of its codewords. Level Q recovers about 25%, M about 15% and L about 7%. A small logo can work at Q, but H gives the most margin.

Can a QR code be in color?

Yes, as long as the dark modules are clearly darker than the background. Dark-on-light scans most reliably. Many phone apps also read light-on-dark codes, but some older scanners do not.

Does a QR code with a logo expire?

A static QR code, including one with a logo, does not expire on its own because it contains the link or text itself. A code containing a link works while its destination and domain remain available. Dynamic QR services redirect through their own server, so the code also depends on that service, and many stop redirecting when the subscription ends.

Keep reading