How to Add a Logo to a QR Code Without Breaking the Scan

7 min read  ·  QR Code Guides

Adding a logo to a QR code gives it a polished, branded look — but it also covers part of the code itself. Done correctly, a branded QR code scans just as reliably as a plain one. Done incorrectly, the logo obscures too much of the pattern and the code fails. This guide explains the right approach.

Why QR codes can handle a logo in the first place

QR codes contain built-in error correction. When the code is generated, a significant portion of the data is stored redundantly — meaning the same information is encoded in multiple places across the pattern. This redundancy is what lets a QR code continue to scan even if part of it is physically damaged, obscured or covered.

There are four error correction levels: L (recovers up to 7% data loss), M (15%), Q (25%) and H (30%). When you add a logo, you are deliberately covering part of the code, so you need enough redundancy to compensate. The general rule is to use H (High) for any logo larger than about 15–20% of the QR code's area. For smaller icons or watermarks, Q (Quartile) is usually sufficient.

The practical effect is that a higher error correction level makes the QR code denser — more black and white squares — because more redundant data has to fit into the same space. This is not a problem for scanning, but it does mean the code looks busier.

Step-by-step: adding a logo in DoMyQR.com

  1. Choose your QR code type and enter your content as normal (URL, contact, WiFi, etc.)
  2. In the customisation panel, change the error correction level to H before uploading a logo
  3. Scroll to the logo upload option and select your image file (PNG with a transparent background works best)
  4. The logo appears in the centre of the preview. Check that the QR code pattern around it is clear and not overly dense
  5. Scan the live preview with your phone camera to confirm it works before downloading
  6. If scanning is unreliable in the preview, your logo may be too large — try a smaller version or reduce the logo file's dimensions
  7. Download as PNG for print-ready use at 600 × 600 pixels, or SVG for large-format work

Set error correction to H before uploading your logo. If you upload first and change the correction level second, the code regenerates and removes the logo. Set the level first to avoid the extra step.

Logo file format and sizing

PNG is the best format for logos in QR codes. A PNG supports transparency, which means the background of your logo will not cover the QR code pattern with a white or coloured box — the code shows through around the edges of your logo shape instead. JPEG files do not support transparency and will leave a visible rectangle around your logo.

The ideal logo size depends on the generator. DoMyQR.com places the logo at approximately 20–22% of the QR code's width, which is within the safe range for H-level error correction. You do not need to resize your logo file beforehand — upload it at whatever resolution you have and the tool scales it to fit.

If your logo is square or circular, it sits cleanly in the centre. Complex shapes with a lot of fine detail may not read well at small sizes — in those cases, consider using a simplified version or just the icon portion of your logo rather than the full lockup with text.

Colour considerations for branded QR codes

You can also change the foreground and background colours of the QR code itself. This is safe to do as long as you maintain sufficient contrast between the two colours. Dark foreground on light background is the most reliable combination — it mirrors what QR code scanners are optimised to read.

What you want to avoid: light foreground on dark background. Some phone cameras can struggle with inverted QR codes, particularly in lower light. If your brand colours require a light foreground, test very carefully across multiple devices before committing to a print run.

Avoid using a foreground colour that is similar in lightness to the background (for example, yellow on white or grey on light grey). The scanner needs clear contrast to detect the pattern. When in doubt, use the standard black-on-white combination and add branding through the logo only.

Testing a branded QR code

Testing is not optional when you add a logo. A code that looks fine on screen can be borderline in real-world scanning conditions — lower light, a camera at a slight angle, a small printed size.

Before printing, scan your generated code with at least two different phones. If you are printing for outdoor use, test in lower light as well as bright conditions. Print a small test copy at the intended size and scan the physical print, not just the screen version — printed codes at small sizes can lose detail in ways that are not obvious on screen.

If the code scans on the first try in every test, you are good. If it takes a couple of seconds or requires repositioning the phone, your logo is too large or error correction is too low. Reduce the logo size or switch to H correction and test again.

Common mistakes

The most common mistake is using M or Q error correction when adding a large logo. The resulting code does not have enough redundancy to compensate for the obstructed area and scans intermittently. Always use H when adding a logo of any meaningful size.

The second common mistake is using a JPEG logo. The white box that appears around a JPEG image can obscure corner markers or alignment patterns, which are critical for the scanner to orient itself. Use PNG with transparency.

The third is skipping the physical print test. A 600 × 600 PNG looks great on screen, but when printed at 3 cm × 3 cm the fine modules may be indistinct. Print before you commit to quantities.

Add a logo to your QR code for free

Upload a PNG with a transparent background, set error correction to H and download a branded QR code with no watermark.

Try the logo feature →

QR code scan reliability depends on printing quality, display size and device camera quality. Always test branded codes before committing to a print run.