A logo or emoji in the middle: how much can be covered
By Tiehl Roberto Matías · 6 min read · Updated 27 October 2026
Putting a logo in the middle of the code frightens people more than it should, because almost everybody confuses the percentage of the side with the percentage of the area. They are very different things, and the difference is what explains why this works.
In this guide
The percentage misunderstanding
When the generator says the centre takes 22 %, it means the side of the central box compared with the side of the code. Not the area.
And area goes up with the square. A box measuring 22 % of the side covers 22 % by 22 %, that is under 5 % of the area. One at 30 % of the side covers 9 %. One at 40 %, 16 %.
That is why putting a logo in the middle works so well, and why so many people are surprised that it does. The number on the slider sounds enormous; what actually gets covered is a small fraction.
The sum, with numbers
This table is worked out with this site's encoder on a version 4 code, which has 33 modules a side: 1,089 modules in all.
| Centre (% of the side) | Side covered | Modules covered | % of the area |
|---|---|---|---|
| 10 % | 3 modules | 9 | 0.8 % |
| 15 % | 5 modules | 25 | 2.3 % |
| 20 % | 7 modules | 49 | 4.5 % |
| 22 % | 7 modules | 49 | 4.5 % |
| 25 % | 8 modules | 64 | 5.9 % |
| 30 % | 10 modules | 100 | 9.2 % |
| 35 % | 12 modules | 144 | 13.2 % |
| 40 % | 13 modules | 169 | 15.5 % |
The 22 % the generator comes set to covers 49 modules out of 1,089. It is a small bite, and it is chosen so as to stay comfortable even on low-version codes.
What margin correction gives you
The error correction level decides how much can be lost before the code stops reading. Level H, which is what this site uses by default, is designed to recover up to around 30 % of the information.
That said, there are two important caveats hardly any guide mentions:
First: that 30 % is not 30 % of the area of the drawing. It refers to the blocks of information the content is cut into. Part of the area of the code carries no information at all: the finder corners, the timing bands and the alignment patterns. Covering that part is far worse than covering the same area of data. The guide to correction levels goes into the detail.
Second: there is one budget and you are already spending it. Correction is not there just for the logo. It also covers the modules that print slightly fat, the shine of the filament, dirt, a fingerprint and the angle it gets scanned from. If you spend nearly all the margin on a big logo, there is nothing left for the rest, and the piece that worked on the table stops working when somebody touches it with dirty hands.
The centre is the best possible place to cover. It is no accident that logos go there. There is no finder corner in the centre, and on low-version codes there are no alignment patterns either. It is the area where covering costs least.
Where the practical limit is
Putting the two things together, this is the recommendation:
- Up to 22 %: no need to worry. It is what you get by default and it leaves plenty of margin for everything else.
- 25 to 30 %: it works, but check it. Use correction H and test the piece before running a batch.
- Over 30 %: you are gambling. It may read on your phone, on your table and in your light, and fail on the customer's.
And one limit that is not negotiable: the logo goes in the centre and nowhere else. An off-centre logo, a band crossing the code or a box touching one of the three finder corners breaks the code however much correction margin you have.
What changes when you print it
On the 3D piece the centre carries no drawing: a flat gap is left there. And that is on purpose.
A logo with gradients, shadows or a photograph can be drawn in a PNG, but it cannot be printed in two-colour relief: relief has only two heights, so there are only two possible states. What can be printed of a logo is its silhouette, and logos with a lot of fine detail do not survive that reduction.
There is a practical consequence: what you see in the PNG and what comes out on the piece are not the same thing, and that is not a fault. The PNG carries your logo as it is; the piece carries the gap. If you want the piece to have something in the middle, what really works is an emoji, because they are thick, simple shapes designed to be seen small.
The other place to put your brand, and the one that looks best, is the band of raised text the generator puts below or above the code. The name of the business fits there, it reads without trouble and it does not take a single module off the code.
Emoji, logo, or nothing
In order of how well each option holds up:
- Nothing. The most robust code is the one with nothing in the middle. If the piece is going to live somewhere difficult — outdoors, in poor light, or far away — do not give it a centre.
- An emoji. Thick shapes, a clean silhouette, it prints well in relief and it is recognisable at small sizes. It is the option that behaves best on a piece. With one caveat: in relief it loses its colours and is reduced to a solid silhouette, so a smiling face comes out as a smooth disc. Which ones survive that and which do not is in the guide to text and emoji.
- A simple logo, one single shape and no thin lines. It works, but check it.
- A detailed logo. It will look good in the PNG and disappoint on the piece.
And in every case, the same rule as always: download the PNG, scan it off the screen with a phone that is not yours, and only then print.
Try it before printing
The centre size slider is in the design section of the generator, and the code redraws straight away. Upload your logo, move the slider and scan the screen.
Open the generatorKeep reading
- A 3D printed business card with a QR codeOn a standard-sized card a code only fits if the link is very short. The sum, and what to do when it does not work out.
- Engraved or raised: which one reads betterA single-colour code reads by shadow, and the phone's torch erases the shadow. When it works and when it does not.