Skip to content
Upgfrog.online

Design

Putting a logo in a QR code without breaking it

A centre logo is the most requested customisation and the easiest way to ruin a code. The size limit, the error correction rule, and how to check you got away with it.

By The Upgfrog Editorial TeamReviewed 8 min read
All articles
Putting a logo in a QR code without breaking it — Design guide from Upgfrog.

Short answer

Keep a centre logo under about a quarter of the code's width and set error correction to level H. That level can recover roughly 30% of a damaged code, but print defects and glare spend from the same budget, so leave some in reserve rather than using it all on the logo.

Why this works at all

Covering part of a QR code with a logo sounds like it should destroy it, and the only reason it does not is error correction. A QR code carries redundant data calculated with Reed–Solomon coding, so a decoder can reconstruct whatever the logo is hiding.

At error correction level H, roughly 30% of the symbol can be lost and still be rebuilt. That is the entire mechanism behind every branded QR code you have ever seen.

Which also means the rules are not aesthetic preferences. They are arithmetic about how much data you can afford to destroy.

Adding a logo safely, in order: 1. Raise to H — Before adding anything; 2. Stay under 25% — Of the code's width; 3. Add clear space — A margin around the logo; 4. Keep it simple — Solid shapes, high contrast; 5. Decode to check — At final print size.
Adding a logo safely

The size limit, and why it is lower than 30%

People read 'recovers 30%' and conclude a logo may cover 30% of the code. That is the single most common mistake here.

The 30% is a shared budget. Print registration drift, ink spread on absorbent stock, a scuff on a sticker, glare from a laminate, camera noise and an off-square scanning angle all consume part of it before your logo is considered at all.

Spend the whole allowance on the logo and the code works perfectly on your monitor and fails on a printed flyer under shop lighting. Keeping the logo under about a quarter of the width leaves a genuine reserve for the physical world.

What makes a good logo for this

Not every mark works in the middle of a QR code, and the constraints are unusual.

  • Simple, solid shapes read better than detailed illustration at small size.
  • High internal contrast — a pale logo on a white plate disappears and looks like a printing error.
  • Square or circular silhouettes waste less of the budget than wide, thin wordmarks.
  • A small clear margin around the logo stops modules touching it and looking like smudges.
  • Avoid a logo that is itself mostly white, since it will not read as deliberate.

The backing plate question

Most generators, ours included, offer to clear the modules underneath the logo rather than simply drawing over them. It is worth understanding the difference.

Drawing over the top leaves partially covered modules around the logo's edge, which decoders can misread as ambiguous. Clearing the area produces a clean rectangular hole, which the error correction handles predictably.

A backing plate — a solid shape behind the logo — makes the result look deliberate rather than damaged, and gives a logo with transparency somewhere to sit.

How to do it

The order matters more than any individual setting.

  1. 1

    Set error correction to H first

    Changing it afterwards regenerates the whole pattern, so do it before you judge anything visually.

  2. 2

    Shorten the payload if you can

    A shorter URL means fewer, larger modules, which leaves more room for the logo to sit without crowding.

  3. 3

    Add the logo and keep it under a quarter of the width

    Start smaller than you think you want and grow it only if the code still decodes comfortably.

  4. 4

    Decode it back and check

    Not just that it scans, but that it scans quickly and from an angle. A code that takes three seconds to lock on is already marginal.

  5. 5

    Print one at final size before committing

    This is where an over-ambitious logo actually shows up.

Frequently asked questions

How big can a logo be in a QR code?
About a quarter of the code's width is a safe ceiling with error correction at level H. The theoretical limit is higher, but print defects and glare draw on the same recovery budget, so using all of it on the logo removes your margin for error.
Do I have to change error correction when adding a logo?
Yes. Set it to H. At lower levels the code has far less redundancy to spare, and a logo that looks fine on screen will fail once printing and lighting take their share.
Should the modules behind the logo be removed?
Generally yes. Clearing them produces a clean area the error correction handles predictably, whereas drawing over the top leaves partially covered modules at the edge that decoders can misread.
Can I put a logo on a small printed code?
It is risky. Small codes already have small modules, and a logo removes some of the few you have. Below roughly 2cm, colouring the code is a safer way to brand it than covering part of it.

Sources

Specifications and primary documentation referenced above.

Put this into practice

The generator shows a live contrast reading and warns about corner shape combinations our testing found unreadable, so you can catch these problems before you print.

Open the generator