Skip to content

Create a QR code with a logo in the middle

A mark in the middle turns an anonymous pattern into something recognisably yours. It also destroys part of the symbol on purpose. This page is about where the line between those two things sits, and the free generator below stays on the right side of it: it centres your logo, caps its size and warns you before the code stops scanning.

Generator with logo upload

Content type
Error correction
#000000
#ffffff

Logo overlay (optional)

Live preview

Set error correction to H, then upload an image under “Logo overlay” and leave the size slider near 20%. Nothing is uploaded: the logo is read and composited in your browser.

How to add a logo, step by step

Create a QR code with your own logo in the middle without making it unreadable: raise the error correction first, keep the image to a fifth of the width, leave the corners alone and scan it before you print it.

  1. Paste the link

    Put the full address, including https://, into the generator. A shorter link means a coarser pattern with fewer, larger modules, and a coarse pattern is what survives having a logo dropped on it.

  2. Set error correction to H

    Level H restores about 30% of the symbol and is the only level with room for a logo. Change it before you upload the image rather than after, so the preview you judge is the one you will download.

  3. Upload the logo and keep it small

    Choose an image under "Logo overlay" and leave the size slider at 20%. The generator places it in the middle of the code, the one spot well clear of the three big squares in the corners.

  4. Test, then download

    Scan the preview with two phones, one of them older, before you download. PNG carries the logo; SVG comes straight from the encoder without it and is the better file to hand a printer.

Why the logo goes in the middle

Not every part of a QR code is data. The three big squares in the corners are finder patterns, the strips of format information run right beside them, and a dotted timing line connects them along one row and one column. None of that is protected by the data error correction (the format information has its own small code and is stored twice, but that is all): lose it and the scanner cannot locate the code or work out how to read it.

The centre is the one area well away from all of it. In the small codes a short link produces, it holds nothing but data and error correction codewords, which is exactly what the decoder can rebuild. That is why the generator always puts the logo in the middle and offers no control to move it. Long content pushes the code to version 7 and above, which adds a small alignment pattern in the centre as well — one more reason to keep the link short.

How big the logo can be

A QR code carries far more modules than its content needs. The surplus is Reed–Solomon error correction — redundant data a decoder uses to rebuild the message when part of the pattern is missing. A logo spends that reserve, and the four levels differ only in how much of it there is to spend.

The percentages people quote are shares of the width, which is not what the code loses. This generator draws a white border around your image at 12% of its size on each edge, so a logo set to 20% blanks a square 6.2% of the symbol's area, and the 25% maximum blanks 9.6%. Both are comfortably inside level H's budget, which is deliberate: the damage sits in one solid block in the middle rather than scattered the way the encoding expects, and the rest of the reserve still has creases, glare and cheap ink to absorb.

Level Recoverable What it is good for
L about 7% Screen only, no logo. Smallest symbol, no margin for anything going wrong.
M about 15% The sensible default for a plain code. Not enough budget for a logo.
Q about 25% A token mark at 10–12% of the width, and only on screen.
H about 30% What a logo needs. Tolerates one solid block in the middle plus real-world print damage.

The tool warns you as soon as the covered share passes half of the level you have selected, so you can see the moment a design stops being safe rather than finding out on a poster. The image is drawn into a square, so crop a wide wordmark to a square icon first or it will be squashed.

Four rules that keep it scannable

  • Raise error correction before you add the logo. A logo on level M often passes on a bright monitor and fails on paper, because there is nothing left over for the printing.
  • Leave the three corner squares alone. Those are the finder patterns a scanner uses to locate and orient the symbol, and they are not protected by error correction. Cover one and the code is not read badly — it is not found at all.
  • Keep the code dark on light, with its quiet zone. Inverted colours and a code butted up against artwork break more scans than logos do. Four modules of empty margin on every side, every time.
  • Print bigger than you think. Level H adds modules, so a logo code is finer than a plain one at the same physical size. The size calculator gives you the minimum width for your scan distance.

Custom colours as well as a logo

A logo is usually half of a branded code; the other half is colour. The Foreground and Background pickers in the generator set the module and background colours, and the border behind your logo follows the background colour, so the centre blends in instead of showing up as a white patch on a tinted code.

The limit is contrast. A scanner converts the image to greyscale before it reads anything, so the modules have to be clearly darker than the background, not just a different hue. Deep brand colours on white or a pale tint work; mid-tone pairs and inverted codes are where logo codes that were fine in black start failing. The guide to which QR code colour combinations actually scan gives the ratios.

Can a QR code be in the shape of a logo?

Not really. A QR code is always a square grid of square modules, and its three finder patterns have to stay recognisable squares in three of its corners, or a camera never finds it. Codes that look like a logo are a square code with artwork built around those corners, and every change to the pattern itself spends error correction the same way a logo does.

So design around the code rather than into it: your logo in the centre, your colours on the modules, and the shape of your brand in the frame or layout outside the quiet zone. This generator does the first two and draws plain square modules; it does not make rounded dots or cut the code into a custom outline.

PNG or SVG

The two download buttons produce genuinely different files. PNG is the canvas in front of you, logo included, and is what you want for a screen, a slide or an email. SVG is written straight from the encoder as pure vector geometry, which means it scales to any size without softening a single module edge — and that it does not contain the logo.

For print that division is a feature. Hand the printer the SVG, place your logo over the centre in the layout, and both halves of the artwork stay vector at whatever size the job ends up being. The longer route is explained in the guide on putting a logo in a QR code without breaking it, alongside the error correction levels it depends on.

Common questions

What logo size does this generator allow?

The slider runs from 10% to 25% of the code's width and starts at 20%. Those are widths, not areas: with the white border the tool draws around the image, 20% blanks about 6.2% of the symbol and 25% blanks about 9.6%. A warning appears under the preview as soon as the covered share passes half of what your error correction level can restore.

How do I put a logo in the middle of a QR code?

Set error correction to H, then upload the image under "Logo overlay". The generator always centres it, with a border in your background colour around it, because the middle of a small code holds only data the error correction can rebuild. There is no control to move it off-centre, since every other spot is closer to a part of the symbol the scanner cannot do without.

Can a QR code be in the shape of a logo?

No. A QR code is always a square grid, and the three square finder patterns in its corners have to stay recognisable or the scanner never finds it. What you can do is design around them: your logo in the centre, your colours on the modules and background, and the shape of your brand in the artwork around the quiet zone rather than in the code itself.

Can I change the colours as well as adding a logo?

Yes. The Foreground and Background pickers set the module and background colours, and the border around the logo takes the background colour. Keep the modules clearly darker than the background: a scanner sees brightness, not hue, so two brand colours that look distinct on screen can merge into one grey for a camera.

Why does my downloaded SVG have no logo in it?

Because the two downloads come from different places. The PNG is the canvas you are looking at, logo composited in; the SVG is written straight from the encoder as clean vector geometry, which is the file a printer wants. Place the logo over the SVG in your layout tool and the whole artwork stays vector.

Can I use a logo with a transparent background?

Yes. The generator paints a rectangle in your background colour (white unless you change it) behind the image before drawing it, so a transparent PNG does not leave code modules showing through the gaps in your mark. That border is also what gives the decoder a clean edge to work with.

Does the logo change what the code encodes?

No. Encoding happens first and the image is drawn over the finished symbol afterwards, so the URL is untouched — the scanner reconstructs the hidden modules from the error correction data. That is also why a logo can never add tracking or change the destination.

Upload your logo, set error correction to H and scan the preview