Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

Spec & internals

Maximum safe logo coverage by error correction level

Safe logo area coverage by error correction level, L (7% damage tolerance) is effectively unusable for logos, M (15%) allows about 8% of the code area, Q (25%) about 16%, and H (30%) about 20%. Those are area figures: a logo spanning 45% of the code's side covers 20% of its area.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

The table

Each error-correction level tolerates a fixed fraction of damaged codewords. A logo should spend at most about two thirds of that tolerance, leaving the rest for print damage, glare and camera noise:

EC level Damage tolerance Safe logo area Logo side (of code width)
L ~7% none: do not use for logos n/a
M ~15% ~8% up to ~28%
Q ~25% ~16% up to ~40%
H ~30% ~20% up to ~45%

The mechanics of why a logo consumes error-correction budget are on how logos work without breaking a code; this page is the numbers.

Area vs side: the unit trap

The single most common mistake in logo sizing is confusing the two columns above. Generators (UseQR included) specify logo size as a fraction of the code's side; the error-correction budget is spent by area, and area is the side fraction squared:

Logo side ratio Area covered
0.20 (typical default) 4%
0.30 9%
0.35 (UseQR's maximum) 12.25%
0.40 16%
0.45 20%

So a "20% logo" in a generator's settings usually means 20% of the side: a modest 4% of the area, comfortably safe even at level M. UseQR clamps the side ratio to 0.35, which caps area coverage at 12.25%, about half the level-H safe line, and it raises error correction to H automatically when you add a logo, unless you have pinned a level yourself.

Why the safe figures sit below the tolerance

Three effects eat the gap between "~30% tolerance" and "~20% safe":

  1. The budget is shared. Scuffs, ink problems and low light draw from the same Reed–Solomon account as the logo. A code that scans in the office at 29% coverage fails on a wet poster.
  2. Edges are messy. Anti-aliased logo borders and translucent shadows turn crisp erasures into partial, wrong modules, and errors cost double the correction capacity of erasures.
  3. Damage is not perfectly spread. Interleaving distributes a central patch across blocks well, but the distribution is not exact; one block always runs closer to its individual limit than the average suggests.

Raising coverage from 20% to 25% at level H does not fail on your desk. It fails probabilistically, in the field, on the phones and prints you did not test, which is the worst possible way to find out.

Verify, do not extrapolate

The table is a planning tool, not a guarantee: payload density, logo edge treatment and colour contrast all shift the real threshold. The definitive check is a decode–verify loop: render the exact artwork, then read it back with a real decoder. /validate does precisely this and warns when a large logo is paired with an EC level below H. Design-side sizing guidance, including per-level visual examples, lives at logo size limits by error correction level.

FAQ

What is the maximum logo size for a QR code?

About 20% of the code's area with error correction H, a logo spanning up to roughly 45% of the code's width. Push beyond that and you are spending margin reserved for print damage, so field scan rates degrade before desk tests fail.

Can I put a logo on a level L QR code?

No, not safely. Level L tolerates only about 7% codeword damage, which real-world print imperfections can consume on their own. Regenerate the code at Q or H before adding any logo.

Does a bigger logo need a bigger QR code?

Indirectly. Raising error correction to H to afford the logo increases the version, adding modules; keeping the printed size fixed then shrinks every module. If the code is dense, enlarge the print or shorten the payload alongside the logo.

How do I know if my logo is too big?

Render the final artwork and decode it with a real scanner or a verify tool. If it fails, or only just decodes, shrink the logo side ratio or raise the error correction level and test again, arithmetic estimates, including this table, are starting points rather than proof.

Try it: free, no signup