arrow_backBlog
·5 min read·Super QR Code Generator Team

QR Code Logo Placement: Size Rules That Keep Scans Safe

Logos inside QR codes can break scans if sized wrong. Learn exact size limits, placement rules, and contrast tips to brand your code without losing reliability.

qr code designbranded qr codesqr code logoqr code branding
QR Code Logo Placement: Size Rules That Keep Scans Safe
AI-generated

Dropping your logo into a QR code looks polished — until customers report it won't scan. The failure usually isn't the logo itself; it's the logo at the wrong size, in the wrong position, or with too little contrast against the surrounding modules. This guide covers the specific rules that let you brand a QR code confidently without gambling on scan reliability.

Why Logos Break Scans (and Why They Sometimes Don't)

QR codes use a feature called error correction to tolerate physical damage or visual obscuring. There are four error-correction levels:

Level Data recovery capacity Suitable for logos?
L 7% No
M 15% Marginal
Q 25% Yes
H 30% Best choice

When you embed a logo, you are intentionally obscuring modules. If the obscured area exceeds the error-correction budget, the decoder fails. Level H gives you the most headroom — use it whenever you plan to include any graphic overlay.

The key point: error correction doesn't give you unlimited coverage. It gives you a hard ceiling. Cross it and no amount of software polish recovers the scan.

The 30% Rule — and Why You Should Stop at 20%

The widely cited guidance is to keep logo coverage at or below 30% of the total QR code area (matching level H capacity). In practice, treat 20% as your working limit for three reasons:

  1. Print tolerances. Offset and digital printing introduce ink spread. A logo that measures 28% on screen can clock in higher on paper after ink absorption.
  2. Finder pattern proximity. The three square "eyes" in the corners are non-negotiable for decoding. Any logo that bleeds into them degrades scan rates dramatically, even if the overall coverage percentage looks fine.
  3. Quiet zone intrusion. The blank border around the code is part of the specification. Logos with outer glows or drop shadows can visually eat into that space.

Set your logo at 20% of the QR code's total area, verify no edge touches a finder pattern, and you have a comfortable buffer.

Placement: Centre Is Not Always the Answer

Centre placement is standard and works well for square or circular logos. But it's worth understanding why centre is preferred: the highest-density data modules sit near the edges and corners, while the centre region (excluding the timing patterns) tends to carry redundant data that error correction can rebuild more easily.

When centre doesn't work:

  • Your logo is landscape-oriented (wide rectangles centred horizontally start encroaching on timing patterns above and below)
  • Your brand mark includes very thin lines that disappear when scaled down to fit the 20% area

For landscape logos, two options:

  • Crop to a square version of the mark for use inside the code
  • Place the full logo below the code with a generous quiet zone, rather than overlaid on it — this is cleaner and zero scan risk

Contrast and Background Colour Inside the Logo Zone

The modules surrounding your logo must still read as dark against light (or vice versa). A common mistake is using a white logo on a white background patch, which leaves an ambiguous gap the decoder has to bridge entirely through error correction. A better approach:

  • Give the logo a solid, opaque background that matches or closely matches the code's light colour
  • Maintain at least a 1-module-wide padding of clean light space between the logo edge and the nearest dark modules
  • Avoid gradients in the logo that cause module colours to become ambiguous near the boundary

If you need a primer on contrast requirements across the whole code, the detailed breakdown in our QR code colour contrast guide covers minimum ratios, dark-on-light versus light-on-dark orientations, and colour combinations that cause camera processing errors.

Physical Size and the Minimum Pixel Budget

Logo legibility and QR reliability both depend on the code being printed or displayed large enough. A logo crammed into a 2 cm × 2 cm code at 20% coverage is roughly 4 mm across — invisible as branding, and still occupying error-correction budget.

Practical minimums:

  • Print: QR code no smaller than 3 cm × 3 cm for a logo to remain identifiable
  • Screen: QR code no smaller than 300 × 300 px before adding the logo layer
  • Billboard / large format: Scale the logo proportionally; the 20% area rule still applies, don't oversize it just because you have room

Test Before You Commit to Print

No design rule replaces testing. Before sending to print:

  1. Export the finished design at final print resolution
  2. Test with at least three apps: the native iOS camera, the native Android camera, and one standalone scanner app
  3. Test under mixed lighting (bright overhead, dim ambient)
  4. If you're using a dynamic code — which lets you update the destination URL without reprinting — confirm the redirect still resolves correctly

Dynamic codes are especially relevant here because branded codes often appear on packaging or printed collateral with long shelf lives. If the destination changes, a dynamic QR code lets you update the link without redesigning or reprinting the physical item.

You can build these branded codes directly through the Super QR Code Generator with level H error correction already set as the default when a logo is detected.

Key Takeaways

  • Use error-correction level H any time you embed a logo
  • Keep logo coverage at or below 20% of total code area, not the theoretical 30% maximum
  • Never let the logo overlap or crowd the three corner finder patterns
  • Landscape logos work better placed below the code than centred inside it
  • Give the logo an opaque background and 1-module padding to avoid contrast ambiguity
  • Always test on real devices before committing to print, especially for packaging runs
  • Pair a branded code with a dynamic URL so you can update destinations without a redesign

Frequently asked questions

What file format works best for a logo inside a QR code?expand_more
PNG with a transparent background gives you the most flexibility during design, but export the final merged image as PNG or SVG with a solid opaque background patch behind the logo. Avoid JPEG for the final output because JPEG compression introduces artifacts around the module edges, which can confuse scanner decoders at small print sizes.
Can I use a full-colour logo inside a QR code without losing scan reliability?expand_more
Yes, full-colour logos are fine as long as the surrounding modules maintain strong contrast and the logo has a solid background patch. The decoder only reads the dark and light modules around the logo — it ignores the interior of the covered area entirely. Problems arise when logo colours bleed into adjacent modules and make their tone ambiguous.
How do I calculate 20% of a QR code's area for logo sizing?expand_more
Measure the total width of the QR code in pixels or millimetres, excluding the quiet zone border. Multiply that dimension by 0.447 to get the maximum logo width (since 0.447 squared equals roughly 0.20). For example, a 300 px code allows a logo up to about 134 px wide. Then size the logo height proportionally to fit within that square budget.
Does adding a logo make the QR code larger or add more modules?expand_more
No. The logo is an overlay — it sits on top of the generated code without changing its module grid. What does affect code size (and therefore density) is the error-correction level and the amount of data encoded. Higher error-correction levels and longer URLs both increase the number of modules, which is why keeping your destination URL short or using a dynamic redirect helps maintain a cleaner, less dense code.
Will a round logo cause more scan failures than a square one at the same coverage area?expand_more
Not inherently. Round logos leave more transparent corners within their bounding box, which actually preserves more modules than a filled square of the same bounding-box dimensions. The shape matters less than the total obscured area and whether any part of the logo touches the corner finder patterns or timing strips running along the top and left edges of the code.