Print & scan quality

How to add a logo to a QR code without breaking the scan

A centre logo works because QR codes are redundant, not because they are magic. Here is how much redundancy you are spending.

By Kiril Urbonas6 min read

Put the logo in the centre, keep it under about 20–25% of the code’s area, and raise error correction to H. Never cover the three corner finder patterns or the timing lines between them. The size limit is a convention, not a specification, so scan the final artwork on several phones before printing.

Key takeaways

  • A centre logo works by consuming error correction capacity. It is a budget, and the logo spends most of it.
  • Keep the logo under roughly 20–25% of the code area. No standard addresses logo overlay at all — this is a convention.
  • Never cover the three corner finder patterns: they are how a scanner locates and orients the code.
  • Use error correction level H, and expect the grid to get denser — so print the code larger than you would without a logo.
  • Always test the final artwork on at least one iPhone and one Android before committing to print.

Why can a QR code survive a logo at all?

Because QR codes are built with redundancy. Every symbol carries error correction data that lets a scanner reconstruct modules it cannot read — damage, dirt, or in this case a logo you put there on purpose.

That reframes the whole job. A logo is not “allowed” by some special feature; it is spending a budget that exists for damage. The question is never “can I add a logo” but “how much of the budget am I spending, and on what”. The error correction guide covers how that budget is actually measured — in codewords, not in area, which is why the usual size advice is more conservative than people expect.

How big can the logo be?

Keep it under about 20–25% of the code’s total area. On a square code, that is a logo roughly a fifth of the width of the symbol.

Be clear about the status of that number: it is a convention. No standard addresses logo overlay at all — ISO/IEC 18004 describes a symbology, not a branding practice. The figure is the conservative end of what tool vendors recommend, and it sits deliberately below the 30% headline figure for level H, because that 30% counts codewords rather than picture area.

Logo areaError correctionRealistic outcome
Up to 10%M or HSafe. Scans reliably on almost anything.
10–20%HThe normal branded-code range. Test, but expect it to work.
20–25%HThe practical ceiling. Test on several phones before printing.
25–30%HUnreliable. Works on good cameras in good light, fails elsewhere.
Over 30%HDo not. You are past the budget regardless of level.
Logo coverage against realistic outcomes

The three areas you must never cover

Error correction protects the data region. Parts of a QR code are structural, and no amount of redundancy recovers them — a scanner needs them before it can begin decoding.

  • The three finder patterns. The large concentric squares in the top-left, top-right and bottom-left corners. They are how a scanner locates the code in a camera frame and works out its orientation and perspective. Cover one and the code stops being findable, not just unreadable.
  • The timing patterns. The alternating dark-light lines running between the finder patterns, which tell the scanner the module grid size. Short and easy to clip with a wide logo.
  • The format information. The band immediately beside the finder patterns, which encodes the error correction level and mask pattern. Ironically, it is the part that tells the scanner how much error correction is available — and it is not itself protected by it.

All three are at the edges, which is exactly why the centre is the conventional place for a logo: it is the only large contiguous region that is purely data.

Settings that make it work

  1. Generate at error correction level H, with the logo in place. This is the part people skip — see the warning below.
  2. Put the logo in the centre, square to the grid, not rotated or offset.
  3. Give it a solid background panel in the code’s background colour, with a small margin. A clean edge decodes better than a logo blended into the modules.
  4. Print it larger than you otherwise would. Level H adds data, so the grid is denser and the modules smaller — a logo code needs more physical size than the same content without one. See the sizing guide.
  5. Keep the logo high-contrast against its panel, and the panel high-contrast against the modules.

Styling the finder eyes instead

If the goal is a code that looks like yours rather than a code with your logo in it, there is a cheaper option that costs no error correction at all: style the three finder patterns.

Giving the corner eyes their own colour or shape is often more distinctive than a small logo in the middle, and because you are restyling structure rather than covering data, it spends none of the correction budget. The constraint is that the structure must stay legible — a ring with a solid centre, in high contrast. Round the corners, recolour them, but do not break the concentric relationship.

Done well, finder-eye styling plus a brand colour reads as branded without any overlay.

Testing before you print

A logo code needs more testing than a plain one, because you deliberately damaged it.

  • Scan from at least two phones — one iPhone, one Android.
  • Include one older device. A code that only works on a current flagship will fail in the field.
  • Test at the real distance and real size, printed, not on screen. Screens are backlit and perfectly sharp; paper is neither.
  • Test in dim light and at an angle, which is how codes get scanned in restaurants and shops.

If any of those fail, the fix order is: shrink the logo, then enlarge the code, then shorten the encoded content. Raising error correction further is not available — you are already at H.

See also the print guide for everything else that decides whether the finished code survives the press.

Frequently asked

How big can a logo on a QR code be?
Keep it under about 20–25% of the code’s total area. That figure is a widely used convention rather than a specified limit — no standard addresses logo overlay — and it is deliberately below the headline 30% recovery figure for level H, because that figure counts codewords rather than picture area.
Does adding a logo break a QR code?
Not if it is small, centred, and the code uses high error correction. The redundancy built into the symbol reconstructs the covered modules. It breaks when the logo is too large, sits over a finder pattern, or when the code was generated at low error correction before the logo was placed on top in a design tool.
Which error correction level should I use with a logo?
H (high). It gives the most redundancy to spend on the covered area. Be aware that H also adds data to the symbol, making the grid denser and each module smaller — so a code with a logo should be printed larger than the same content without one.
Can I put a logo on a QR code in Photoshop afterwards?
You can, but it is the riskiest way to do it, because the generator had no idea the logo was coming and may have used low error correction. Generate the code at level H with the logo in place, so the encoder and the artwork agree, then test the result.
Try it

Drop in a logo, style the finder eyes independently, and watch the live contrast and scan-quality check as you go. Your logo is never uploaded.

Add a logo to your code

Written by

Kiril Urbonas — builder of QRify, a free QR generator that runs entirely in your browser. Corrections and additions are welcome; this page is updated when the guidance changes.

Read next