All posts

QR codes with a logo: spending the damage budget on purpose

8 min readDesignReliability

≤ 25% of areaECC level HTHE LOGO IS SPENT DAMAGE

A logo in the middle of a QR code looks like magic and is actually accounting. QR codes carry Reed–Solomon error correction — redundancy that lets a damaged grid still decode — and a logo is simply damage you chose. The craft is in how much of the budget you spend on brand, because the physical world spends the rest without asking.

The budget, in numbers

At the highest correction level (H), up to 30% of the code's codewords can be lost and the data still recovers. That headline number hides two catches. First, a centred logo takes a contiguous bite, which is the least convenient shape for the interleaving — the practical tolerance is lower than the theoretical one. Second, the budget is shared: every crease, glare spot, ink bleed and bad camera angle draws from the same account.

WHAT LEVEL H CAN LOSE AND STILL DECODE — 30% OF CODEWORDSthe logocreases · glare · ink spread · bad anglesSPEND A THIRD ON BRAND. THE WORLD TAKES THE REST.logo ≤ 25% of the grid area + error correction Hlogo over the finders, or over 30% of area = a code that decodes on screens and dies on paper
Level H's recoverable loss, drawn honestly: a disciplined logo takes about a third of it, and lamination glare, folded menus and worn labels have to live on the remainder.

The two rules that make it safe

  • Correction level H, always, when a logo exists. A logo at level L or M is a code that decodes at the design review and fails in the field. Our builder forces H the moment a logo is added — a customer who picked L and then added a logo has not asked for an unscannable code; they've asked for a logo.
  • Logo side ≤ about a quarter of the grid. At 22% of the width, the knockout destroys ~5% of the modules — a third of the practical budget. At 40% it takes 16%, and the first crease finishes the job. Our renderer hard-caps the knockout whatever the uploaded artwork asks.

Knock out, don't overlay

There are two ways to put a logo on a grid, and they are not equal. Overlaying pastes the image on top, leaving half-covered modules the sensor misreads as noise. Knocking out clears the area first — modules end cleanly at the plate's edge, and a small breathing margin keeps a dark logo from visually merging with the nearest live modules under a camera. The clean edge is worth more than the pixels it costs.

Where the logo must never go

The three corner finder squares are how the code is found at all, and no error correction protects finding — redundancy repairs data, not discovery. A logo touching a finder doesn't weaken the code, it makes it invisible. Same for the smaller alignment marks the grid-fit uses; centre placement exists precisely because the centre is the least load-bearing real estate.

The knock-on effects to plan for

Level H stores more redundancy, which can push your content into a larger grid version — more, smaller modules — which raises the minimum print size. A logo code therefore prints slightly larger than its plain twin for the same scan distance; the size calculator shows the exact cost for your content, and the sizing post covers why. Keep the payload short — a short branded URL buys back what the logo spends.

Then verify, don't admire

Every logo-carrying style we ship is machine-decoded at multiple export sizes before release, and yours should face the same standard: run the finished artwork through the scannability checker — it decodes at shrinking scales and reports the real margin the logo left you. If the verdict is Fragile, the fix order is: smaller logo, then stronger contrast, then bigger print. The wider design rules pick it up from there.