QR Code Generator with Logo
Add your logo to the centre of a QR code and download it as a high-resolution PNG. Free, no account, no watermark, and the code never expires. The generator above does the drawing; the sections below answer the question that actually decides whether your code survives printing — how much of it a logo can cover before scanners give up.
QR Code Type
Website Details
This name will help you identify your QR code in the dashboard
Dynamic QR Code
Creates a short link for analytics tracking and allows URL editing without re-printing
Preview & Customize
How to add a logo
Enter the destination, generate the code, then open the Logo tab and click “Add or Manage” to pick a file from your device. A square PNG with a transparent or white background works best; a wide logo has to be scaled down so far that it stops being legible anyway.
Keep the logo centred. The centre is the only part of a QR code with no structural role — the corners hold the finder patterns and the edges carry timing and format information. A logo drifting toward a corner does far more damage than the same logo in the middle.
The download is a 1024-pixel PNG, which prints cleanly up to about 8 cm at 300 dpi. For anything larger, generate the code at the size you will print it rather than enlarging the file afterwards — an enlarged raster softens the module edges, and soft edges are what scanners fail on.
How much can a logo actually cover?
Almost every guide answers this with the error correction levels — L, M, Q and H recover roughly 7%, 15%, 25% and 30% of a damaged symbol — and then says you can cover 30% of the code at level H. That is a misreading, and it is why codes that "should work" fail in print.
Those percentages describe recoverable codewords, not paintable area. Error correction is designed for scattered damage: a scratch, a smudge, a torn corner. A logo is contiguous damage in one place, which is the hardest case for the algorithm, so the usable figure is well below the headline number. In practice, keeping the logo under about 15% of the code area is safe at level H, and going past 20% is where failures start appearing on older phones first.
One thing no error correction level can save: the three large squares in the corners. Those are the finder patterns a scanner uses to locate the code at all. Cover one and the code is not damaged, it is invisible — the scanner never finds a symbol to correct.
And raising the level is not free. Higher error correction consumes capacity, so at the same content length it pushes the code to a denser version with more modules. A shorter destination buys you more logo room than any setting does.
Contrast, colour, and the proof you have to print
A logo with a light background inside a dark code reads fine. A logo with a dark background sitting on the code's light modules is where scanning breaks, because the scanner can no longer tell module from gap. If your logo is dark, put it on a small white pad.
The same applies to brand colours in the pattern itself. Scanners want a dark pattern on a light background; inverting that, or using two mid-tone brand colours, produces something that looks right on a screen and fails on a phone in a shop. Gradients across the pattern lower contrast unevenly — if you want the brand look, put the gradient in the frame around the code.
Then print a proof and scan it with more than one phone. A logo code that works on your own recent handset can fail on a three-year-old Android, and that is the phone your customer is holding. This is the only test that counts, and it takes two minutes.
Frequently asked questions
Is adding a logo free?
Yes. Logo, custom colours and frames are free on every plan including the free one, with no watermark and no expiry. A paid plan is only needed to change the destination after printing and to count scans.
How big can the logo be?
Keep it under roughly 15% of the code area at error correction level H, and treat 20% as the point where older phones start failing. The often-quoted "30% at level H" comes from misreading the error correction figure — that number is about scattered damage, not one solid block in the middle.
Why did my code stop scanning after I added the logo?
Two usual causes. Either the logo is too large or off-centre and has eaten into structural areas, or it is dark and sitting directly on the light modules so the scanner cannot separate pattern from background. Shrink it, centre it, and give a dark logo a white pad.
Should I raise the error correction level for a logo?
Level H helps, but it is not free: higher correction consumes capacity, so the same content produces a denser code with more modules. If space is tight, shortening the destination gains you more room than raising the level does.
What image format works best for the logo?
A square PNG with a transparent or white background. SVG works too if your logo is vector. Avoid photographs and anything with fine detail — at the size a logo occupies in a QR code, detail turns into noise.