QR Code Generator with Logo
Put your logo in the middle of a QR code that still scans — ECC H is forced on, coverage warnings keep the mark readable, and a built-in test scan proves it.
Brand the code without breaking it
A QR code survives a centre logo because it was designed to survive damage. The trick is respecting the math: error correction rebuilds a fixed share of the symbol — ~30% at level H — so the logo’s footprint has to live inside that allowance. This generator handles the guardrails for you: pick an image and error correction locks to H, a white safety pad is drawn behind the mark, the size slider is capped at 30%, and anything past ~25% coverage raises a warning instead of silently shipping a dead code.
The workflow that never fails
Set the payload first — every character you add makes the symbol denser and leaves less room for the logo. Then add the logo, drop the slider toward 18–20%, and press Test scan: the decoder on this page (jsQR, running locally) reads the rendered image back and confirms it still resolves to your content. If the test scan fails, the fix is smaller logo or fewer characters — never more coverage.
Where logo codes earn their keep
Packaging, table tents, conference posters, storefront windows — anywhere the square has to persuade someone to point a camera at it. Keep colours disciplined while you’re at it: dark mark on light ground, and let the logo carry the brand rather than recolouring the modules into low contrast. For sizing once it hits paper — including how large a logoed code must print to stay readable — see the print-size guide and the spec sources.
Frequently asked questions
Does a logo in the middle break the QR code?
It doesn't have to. QR codes carry Reed-Solomon error correction: at level H, roughly 30% of the codewords can be reconstructed after damage or obstruction. A centred logo is, mathematically, controlled damage — keep it to ~25% of the symbol's area and the code reads fine. That is why this tool pins error correction to H the moment you pick an image.
Why does the error-correction selector lock to H?
Because the logo is covering real modules. At level M only ~15% can be rebuilt — a 20% logo already exceeds that budget and the code starts failing on real phones. H gives a 30% allowance. If you need a lower level, remove the logo instead.
How big can the logo be?
The slider caps at 30% and warns past 25%, which is the practical ceiling even at ECC H — past that, scanners hunt and fail. The sweet spot for print is 15–22%: visible branding, comfortable decode margin. The white pad around the logo matters too; this tool draws it automatically so the logo doesn't bleed into modules.
What logo file works best?
A square-ish mark with a strong silhouette — an app-icon style image, not a wordmark full of thin strokes (it will be shrunk to a few dozen modules). PNG with transparency or a flat background both work; the generator draws a white plate behind it regardless.
Can I get the logo in the SVG export too?
Yes — the logo is embedded inside the SVG as a data URI, so the file stays self-contained and prints the branded code as-is. That makes the SVG bigger than a plain one; for enormous print sizes it's still the right choice since vectors never pixelate.
Is a styled/coloured QR code with logo safe for print?
Two rules keep it safe: the code must stay clearly darker than its background (watch the contrast warning — dark navy on white works, light blue on white fails), and you must run the test scan on the exact artwork you're exporting. DENSO WAVE's own guidance is blunt: deformation that exceeds error correction's reach makes codes unreadable — keep the logo modest and the warning list empty.