EUQR

QR code with logo: brand the code without breaking scans

A plain black and white square says nothing about who printed it. A QR code with logo in the centre and your colours in the modules says it is yours, and it scans just as well when it is built correctly. This guide covers why a logo works at all, the design rules that keep the code readable, the colours that fail, and how to get a print-ready file out of EUQR.

23 Sep 2026

A QR code with logo looks like a trick. You cover part of the pattern with an image and a phone reads it anyway. It works because of a feature that Denso Wave built into the code from the start, and designers can use it as long as they respect its limits. This article is about those limits and about the choices that make the difference between a branded code that scans in one second and one that makes people give up. It leaves size, quiet zone and printer resolution to our separate print guide and stays with design.

Why a QR code with logo scans at all

Every QR code carries redundant data. Denso Wave describes the code as dirt and damage resistant, with the capacity to correct itself and restore the original data when part of the symbol is obscured. That capacity is meant for scratches, stains and torn corners. A logo is, from the decoder's point of view, a large stain in a convenient place. As long as the stain is smaller than the code can recover, the decoder reconstructs the missing modules and reads the content as if nothing were there.

How much can be recovered depends on the error correction level chosen when the code was generated. Denso Wave lists four: L restores about 7 percent of the codewords, M about 15 percent, Q about 25 percent and H about 30 percent. It also notes that raising the level increases the amount of data in the code and therefore its size. A logo is only safe at H, because the logo takes its share of the redundancy first and leaves the rest for real-world damage.

The rules that keep it readable

Four rules cover most of what goes wrong. First, generate the code at error correction level H before you add anything. A logo placed on a level L code has already used up the budget with nothing left for a fingerprint on the screen or a crease in the paper.

Second, keep the logo under about 30 percent of the code area, and in practice aim for 20 to 25 percent. The 30 percent figure is the theoretical ceiling at level H, and you want a margin below it. A rule of thumb from experience: if the logo's bounding box is wider than a third of the code, it is too big.

Third, keep the logo centred. The three large squares in the corners are finder patterns; the decoder uses them to locate the code and work out its orientation. Cover one of them and the phone will not even recognise that a code is present, regardless of error correction. The smaller square near the fourth corner is an alignment pattern and matters more on larger versions. The centre of the code is the safest area because the finder patterns are furthest away.

Fourth, give the logo a solid background. A logo with a transparent background lets partial modules show through around its edges, and those half-covered modules confuse the decoder more than fully covered ones. Place the logo on a white rounded rectangle or circle slightly larger than the logo itself, so that every module under it is either fully covered or fully visible.

Colours that work and colours that fail

A branded code usually means coloured modules as well as a logo. The decoder needs dark modules on a light background with enough contrast between them. Navy, charcoal, forest green, deep purple and dark red all work on white or cream. Pastels, mid greys and bright yellows do not; a decoder reads them as background.

Three patterns fail often enough to name. Inverted codes, with light modules on a dark background, are read by some phone cameras and ignored by others, so they cost you scans without warning. Gradients change the contrast across the code, so one corner passes and the other fails. Photographic or patterned backgrounds have the same problem in a less predictable form. If a campaign needs a code on a dark poster, print the code inside a white panel with the quiet zone included, and let the poster be dark around the panel.

Colour in the logo itself is free. The logo is covered area from the decoder's point of view, so it can be any colour, including bright ones, as long as it sits on its solid background and stays within the size rule.

Frames, shapes and other decoration

Some generators offer rounded modules, dots instead of squares, coloured finder patterns and frames with a call to action. Each of these takes a little from the safety margin. Rounded or dotted modules reduce the dark area of each module and lower contrast at small sizes; a decorative finder pattern can confuse the location step; a frame that touches the code eats the quiet zone.

EUQR keeps this deliberately simple. You can set the foreground and background colour, choose the error correction level and place a logo in the centre. EUQR does not offer frames, custom module shapes or decorative finder patterns. If your brand guide calls for a frame with "Scan me" underneath, add it in your design tool outside the quiet zone, where it cannot affect the scan. The generator is on the homepage.

Static or dynamic before you add the logo

Decide what kind of code you are branding before you style it. A static code encodes the destination itself; a long URL makes a dense code, and a dense code at level H with a logo in the middle is hard to read at small sizes. A dynamic QR code encodes a short qreu.eu link, so it has far fewer modules, which leaves more room for the logo at the same print size and lets you change the destination later without touching the artwork. The differences are laid out in our post on static versus dynamic QR codes.

For a code that will carry a logo, the practical order is: create the dynamic code, set error correction to H, pick the colour, upload the logo, and then check the preview. If the preview already looks crowded, the logo is too big or the destination is too long.

A worked example

A gym chain wants its wordmark, a bold red on white, inside the code on its membership flyers and window stickers. Red is too light for modules, so the modules are set to the brand's dark grey and the background stays white. The code is generated as a dynamic code at level H pointing at the sign-up page. The wordmark goes in the centre on a white rounded panel that covers about 22 percent of the code. The design team exports SVG for the sticker printer and PNG for the website. Before the run, they scan a proof on an iPhone, a recent Android phone and a four-year-old Android phone, in the gym's coloured lighting, from 30 centimetres. All three read it in under a second. Our checklist for testing a QR code before printing lists the other checks.

Exporting for print

Give the printer a vector file so that the modules and the logo stay crisp at any size. EUQR exports PNG and SVG on every plan and adds EPS and PDF from Pro at €9 per month or €90 per year; plan details are on the pricing page. Embed the logo in the export rather than placing it on top in the layout program later, so that the file the printer receives is the file you tested.

One last habit: keep the plain version too. A code without a logo, in black on white, is the fallback for tiny placements such as a product label or the back of a business card, where a logo would push the module size below what a phone can read. The same dynamic code can be exported both ways, and both point at the same destination.

Sources read on 23 September 2026: Denso Wave on error correction levels, on the features of the QR code and on the quiet zone.

Frequently asked questions

How big can the logo in a QR code be?
Under about 30 percent of the code area at error correction level H, and safer at 20 to 25 percent. The logo uses the redundancy that would otherwise cover damage, so leave some in reserve. If the logo's width is more than a third of the code, it is too large.
Which error correction level do I need for a QR code with a logo?
Level H, which restores about 30 percent of the data. Lower levels leave too little redundancy once the logo covers the centre. H makes the code slightly denser, which is why a dynamic code with a short link is the better base for a branded design.
Can I put the logo in a corner instead of the centre?
No. The three large squares in the corners are finder patterns that tell the phone where the code is and how it is oriented. Cover one and the phone will not detect a code at all. The centre is the safest place because it is furthest from all three.
Can the QR code be in my brand colour?
Yes, as long as the modules are dark and the background is light. Navy, dark green, charcoal and deep red on white work well. Light modules on a dark background, gradients, pastels and photographic backgrounds fail on some phones, so put the code in a white panel on dark designs.
Does EUQR offer frames or custom module shapes?
No. EUQR offers foreground and background colours, the error correction level and a centred logo. Frames, rounded modules and decorated finder patterns are left out on purpose because each reduces the scanning margin. Add a frame in your design tool outside the quiet zone if you need one.

Brand your QR code and keep it scannable

Set the colours, choose error correction H, add your logo in the centre and download an SVG for the printer. Dynamic codes keep the pattern small and the destination editable.

Create a QR code with logo