How to Add a Logo to a QR Code and Keep It Scannable

· DexURL Guides · 6 min read

A QR code can carry a logo and still scan reliably if you set error correction to High (30 percent), keep the logo to 15–20 percent of the symbol area, center it with a small clear margin, and never let it touch the three corner finder squares or the alignment pattern.

A logo works because a QR code is built to survive damage. Error correction adds redundant data across the pattern, and a scanner rebuilds whatever a logo, a scratch, or a smudge covers, up to a limit set by the error correction level.

Error correction is what makes this possible

There are four levels, and each one states how much of the code can be missing and still decode: L recovers about 7 percent, M about 15 percent, Q about 25 percent, and H about 30 percent. A logo covering part of the pattern is exactly the kind of damage error correction exists for, so set the level to H whenever a logo is involved — anything lower leaves too little headroom once ink spread and print imperfections take their share too.

Sizing and placing the logo

Contrast still decides whether it scans

Error correction fixes coverage, not contrast. A camera still needs to tell modules apart, so keep at least a 3:1 contrast ratio between the dark and light areas, and keep it dark-on-light. Inverting a code to light-on-dark looks striking but fails on older phones and some third-party scanner apps that assume the traditional polarity — it is a real reliability cost for a look, not a safe stylistic choice.

The same logic applies to the logo itself: a flat, single-color mark holds up at small print sizes far better than a detailed photo or a gradient, which turns to noise once it is shrunk to 15–20 percent of a code the size of a business card.

Before you commit to a print run

  1. Export as SVG rather than a raster format. SVG stays sharp at any print size, which matters more once a logo has already used up some of the code’s error-correction headroom.
  2. Scan the exported code with two different phones, ideally one iPhone and one Android, since camera and scanner-app behavior varies enough that one device passing is not proof the other will.
  3. Test on the actual stock the piece will print on, not a screen or a laser proof — matte paper, glossy laminate, and fabric all reflect light differently.
  4. If it fails on either phone, drop the logo size before you drop the error correction level; a smaller logo at H holds up better than a larger one at Q.

This applies just as well to a code that is not a plain URL. Wi-Fi and contact-card codes on the free QR code generator and vCard generator support the same logo upload, with no watermark and no account required.

Every type on the free QR code generator includes logo upload at no cost, along with a live density readout so you can see how much headroom a given logo size leaves before you export.