A QR code with a logo works because QR codes carry redundant data: the generator hides the modules under your logo, and the error correction rebuilds them when the phone scans. The logo cannot be any size you like. This generator sets a limit based on the error correction level, and choosing Level H (which the generator selects automatically when you add a logo) gives the logo the most room.
How do you make a QR code with a logo?
- Enter your content (a URL, text, or any other type) and open the Design options.
- In the Logo tab, pick a preset or upload your own PNG, JPG, or SVG.
- Check that the Level tab shows H. The generator selects it when you add a logo and shows a "Logo Protection Active" note. You can change it, but the scannability score will warn you if you drop to L or M.
- Download the SVG for print or PNG for screens, and scan the downloaded file.
How large can the logo be?
Error correction levels are quoted as percentages (7%, 15%, 25%, 30%). Those describe how many of the code's data blocks can be recovered, not how much of the surface you can cover, so "30% error correction" does not mean a logo can cover 30% of the area. The QR library in this generator applies its own rule: the modules hidden behind the logo are capped at 40% of the level's correction capacity.
| Level | Recovery capacity | Max. hidden modules (40% of capacity) | Logo width, approx. share of code width |
|---|---|---|---|
| L | 7% | 2.8% | 17% |
| M | 15% | 6% | 24% |
| Q (the default) | 25% | 10% | 32% |
| H | 30% | 12% | 35% |
The table follows from the rule in the generator's library. The last column is the square root of the hidden share, and it ignores the blank margin drawn around the logo, so treat it as an upper bound. In practice a logo around a third of the code's width is the ceiling, and smaller is safer. The unused correction budget is not spare: print defects, glare, a curved surface, or a worn sticker all consume it.
Why does a logo make some codes fail?
- Dense codes have small modules. A 100-character link at Level H is a 57 × 57 grid, and a logo covering 12% of it removes roughly 390 modules. A longer link raises the grid size but not the fraction, so a big logo on a long link often scans worse than the numbers suggest, because each visible module is smaller.
- The finder patterns must stay clear. The three corner squares are how the phone locates the code. The generator keeps the logo away from them, but a frame or sticker placed over them defeats it.
- Print size interacts with everything. Read the print size guide, then test at the final size.
Can you use a photo or other image instead of a logo?
Yes. The Logo tab takes any PNG, JPG or SVG, so a headshot, a product shot or a pet photo works the same way a logo does. A photo has more to lose than a logo, though, because the space in the middle of the code is small:
- Crop it square and tight around one subject. A face or a single object reads at print size; a group photo or a landscape turns into a blur.
- Prefer a plain or removed background, saved as a transparent PNG, so the picture doesn't sit in a white box that covers extra modules.
- Keep contrast between the picture's edge and the dark modules around it, and scan-test the result as you would with any logo.
If the goal is for the code to open photos rather than show one, that's a different tool: an image QR code links to a hosted gallery.
Which logo file works best?
- SVG or a transparent PNG for a clean edge on top of the pattern.
- A simple, high-contrast mark rather than a detailed badge. Fine detail turns to a smudge at 8 mm.
- JPG with a white background works, but the white box covers modules the plain shape would have left visible.
What about colors?
Keep the code dark on a light background and check contrast rather than trusting a fixed number: guides quote different minimum ratios, and no single one is an official rule. Our contrast checker shows the ratio and the scanner-safety verdict for your exact pair. The QR color design guide explains why inverted or low-contrast codes fail on some readers.
When should you skip the logo?
- On very small prints (a 1 cm sticker).
- On payment or authentication codes, where a failed scan costs more than a missing brand mark. EPC payment codes, for example, are specified with error correction level M.
- On screens viewed from a distance, where the logo is unreadable anyway.
How do you test it?
Scan with two phones, in good and poor light, at the final printed size. Use the scannability tester to simulate glare, blur, and low light, and the QR validator for a pass/fail on the exported file. More on branding in QR code logo best practices and error correction levels.
Want the code to open photos rather than show a picture in its centre? That is an image QR code: it links to a hosted photo gallery.