QR Code Logo Overlay Tests: What Scans and What Fails

By QRPress Editorial Team|

A logo in the centre of a QR code covers data modules — the code still scans only if error correction can rebuild what the logo hides. Our generators default to error correction level H (30% recovery per ISO/IEC 18004) with logos at ~22% of code width. This page publishes the reproducible test protocol behind those defaults: the size matrix, the contrast pairs, and the 6-step method to verify any logo code yourself before bulk printing.

Our generator defaults (the baseline)

Every QRPress generator renders logo-overlay codes at error correction level H — the highest tier, which rebuilds up to ~30% damaged or obscured modules. The default logo scale is ~22% of code width on a light backing pad, leaving recovery headroom for print dot-gain and phone-camera blur.

Uploads accept PNG or JPG up to 2 MB. The logo is composited in the browser; logo file data is not stored by QRPress after generation. Try it on the free QR generator or the vCard generator.

Test matrix: logo size vs outcome

Logo widthError correctionGuidance
Up to ~15%HPass — comfortable margin for print and screens
~22% (default)HPass — verified default; keep dark-on-light contrast
~30%HCaution — test-scan on two phones before bulk print
Over ~30%HAvoid — exceeds comfortable recovery headroom
Any logoBelow HAvoid — lower tiers cannot rebuild logo-covered modules reliably

How to read this: level H rebuilds ~30% of modules, so a ~22% logo leaves headroom for real-world blur, glare and low ink. Push past ~30% and you spend the entire recovery budget on the logo itself.

Contrast pairs that pass

ForegroundBackgroundGuidance
BlackWhitePass — the reference pair
Dark navy / deep greenWhitePass — keep a clear luminance gap
Any darkLight creamPass — test-scan under shop lighting
White / light on darkDarkAvoid — inverted codes fail on most scanner apps
Similar tones (grey on beige)—Avoid — low luminance gap is the top scan-failure cause

The logo backing pad must match the background (usually white) so the centre reads as quiet space, not data.

Run the protocol yourself (6 steps)

  1. Generate the code with logo at ~22% and level H, then download vector SVG.
  2. Print at the real size on the real stock (minimum 3 x 3 cm for counter cards) with a white quiet zone of 4+ modules.
  3. Scan with an iPhone Camera app at the expected distance — must resolve first try.
  4. Scan with one Android camera / Lens app under the actual shop lighting.
  5. Tilt 15 degrees and re-scan both phones — glare failures show here first.
  6. Only then bulk-print. Change any variable (stock, size, logo, colours) and repeat from step 2.

What this means for print

Vector SVG stays sharp at any size; large PNG prints blur module edges and eat into the recovery budget. Matte stock beats glossy for glare. For full sizing rules use the print-size calculator and the print-shop guide.

Frequently Asked Questions

What is the maximum safe logo size on a QR code?

Up to ~22% of code width at error correction level H is the safe default — it leaves recovery headroom for print blur and glare. Up to ~30% can work but must be test-scanned on two phones first.

Why does QRPress use error correction level H for logo codes?

Level H rebuilds ~30% of obscured modules (ISO/IEC 18004), the highest tier. Since a centre logo deliberately covers data modules, only the highest tier leaves margin for real-world damage like low ink or camera blur.

Can I use a white logo on a dark QR code?

Avoid inverted (light-on-dark) codes — most scanner apps expect dark modules on a light background and fail on inverted prints. Keep dark-on-light with a white logo backing pad.

Test a logo code in seconds

Free logo overlay at error correction H, PNG + vector SVG export. No account, no watermark.

Generate a Logo QR Free