X
🔳

How to Make a QR Code With a Logo That Still Scans

The error-correction math that makes logos possible, how big the logo can safely be, and the print-size rules most people skip.

📅 Last updated: July 11, 2026⏱️ 6 min read✍️ By the Xnipertools team

A QR code with your logo in the middle looks more trustworthy, gets scanned more, and — done wrong — fails silently at the worst moment: on a printed menu, a poster, or product packaging that already shipped. The good news is that "done right" is not guesswork. QR codes were designed from day one to survive damage, and a logo is just deliberate, well-placed damage. Here's how the budget works.

Why a covered QR code still scans

Every QR code carries Reed–Solomon error correction — redundant data spread across the pattern that lets a reader reconstruct missing squares. When a code is generated, one of four correction levels is baked in:

LevelDamage it can recoverTypical use
L (Low)≈ 7%Clean digital display, maximum data density
M (Medium)≈ 15%General purpose default
Q (Quartile)≈ 25%Print in rough conditions
H (High)≈ 30%Logo codes — always use this

Our QR Code Generator always encodes at level H when you add a logo. That gives the code a 30% damage budget; the logo spends part of it, and the rest stays in reserve for real-world abuse — glare, folds, scratches, low light, cheap printing.

The logo size rule

The mistake is thinking "30% correction = 30% logo". The correction budget has to cover everything that goes wrong, not just the logo. Our rule after testing codes across phone cameras old and new:

Keep the logo under 20–25% of the code's area (that's under half the code's width), centred, ideally on a small white padding box so it doesn't half-cover modules at its edges. Reserve the rest of the budget for the real world.

Centred matters because the three big corner squares (finder patterns) and the smaller alignment square are not protected by error correction — a logo that drifts into a corner kills the code instantly, no matter how small it is.

Contrast: the #1 reason codes fail

Print size: the distance ÷ 10 rule

A perfect code printed too small still fails. The working rule: minimum printed width ≈ scanning distance ÷ 10.

Where it's usedScan distanceMinimum width
Business card, menu25 cm2.5 cm
Flyer, packaging50 cm5 cm
Shop window1.5 m15 cm
Poster / banner3 m30 cm

For anything printed, export SVG rather than PNG — vector stays razor sharp at any size, while an upscaled PNG grows soft edges that eat into the error budget.

Build yours in the browserThemes, colours, shapes, centre logo — high-res PNG and SVG export, nothing uploaded.
Open QR Code Generator →

Step by step

QR Code Generator with a generated code, style themes and logo upload
The generator with a live code — themes, colour pickers and logo upload on one screen.
  1. Paste your link. Shorter URLs make simpler, more forgiving patterns — xnipertools.com/qr beats a 200-character tracking URL.
  2. Pick a theme or set your own colours — keep the foreground dark (see contrast rules above).
  3. Upload the logo. A square logo with some padding works best; the tool centres it automatically.
  4. Download PNG for screens, SVG for anything printed.
  5. Test before you print: scan from your phone at arm's length, in poor light, and from an angle. Ten seconds of testing saves a reprint.

Static vs dynamic — why these codes never expire

Paid QR services often generate dynamic codes: the pattern points to their redirect server, which forwards to your link. That enables scan statistics — and means your code dies the day the subscription lapses or the service shuts down. The codes from our generator are static: the URL is encoded directly in the pattern itself. They work forever, offline, with no third party in the loop. The trade-off is that the destination can't be changed after printing — so double-check the link before you send anything to press.

FAQ

How can a QR code still work with a logo covering part of it?

QR codes carry built-in error correction (Reed–Solomon). At the highest level, H, up to 30% of the pattern can be damaged or covered and the code still decodes. A centred logo simply uses part of that damage budget.

How big can the logo be?

Keep the logo under roughly 20–25% of the code's area with error correction H. That leaves recovery margin for real-world damage like glare, folds and low light — don't spend the entire 30% budget on branding.

Do QR codes from this generator expire?

No. Static QR codes encode the URL directly in the pattern, so they work forever — there is no subscription or redirect server involved. They stop working only if the destination link itself goes dead.

What size should a printed QR code be?

Rule of thumb: printed width ≈ scanning distance ÷ 10. A code scanned from 25 cm (a table menu) should be at least 2.5 cm wide; a poster scanned from 3 metres needs about 30 cm.

Why won't my QR code scan?

The usual causes in order: too little contrast between pattern and background, inverted colours (light pattern on dark), a logo that is too large, printing too small, and blurry upscaled exports. Fix contrast first.

📖

Related guides

More tools