QR Code With Logo That Scans: Size, Contrast and Testing
A QR code with a logo scans fine as long as the logo is small, sits in the center, and the code still has strong contrast and a clear margin. The rest of this article shows how to get that balance, how to test it, and what usually goes wrong.
You can follow along in the QR code generator, which lets you upload a logo, pick colors and download PNG or SVG for free.
Why a logo can break a QR code
A QR code is a grid of small squares called modules. A phone camera reads the pattern and rebuilds the data. A logo in the middle covers some of those modules, so the phone has to rebuild the missing part from redundancy built into the code. That redundancy is called error correction.
The ISO/IEC 18004 standard defines four levels: L (about 7%), M (about 15%), Q (about 25%) and H (about 30%). The percentage is how much of the code can be damaged or covered and still be read. For the full explanation, see QR code error correction levels.
The key point for logos: the covered area spends part of that budget. Whatever is left has to handle everything else, such as a scuff on a sticker, a glare on a window, or a slightly blurry camera. A huge logo leaves almost nothing in reserve, so the code may scan on your screen and fail on a poster.
The generator on this site uses the highest level (H) so logos and styling stay scannable. That gives you room, but it is still a limit, not a license for a giant logo.
Logo size: smaller than you think
There is no magic percentage that is guaranteed to work for every code, so treat size as something you test. These guidelines are a good starting point:
- Think in area, not width. A logo that is half as wide as the code covers about a quarter of its area. That already sits close to the 30% limit of level H, with nothing left for wear and tear.
- Start small and grow in steps. Begin with a modest logo, test, enlarge slightly, test again. Stop as soon as scanning gets slower or less reliable.
- Leave the three large corner squares alone. Phones use these finder patterns to locate and orient the code. Never let a logo, frame or decoration touch them.
- Keep the logo in the center. This is the simplest way to stay away from the three corner squares and to avoid hiding other important structure near an edge.
- Use a simple mark. A clean icon or monogram works better than a detailed badge with small text. Tiny text inside a logo is unreadable at scanning size anyway.
If your logo is wide and thin, such as a long wordmark, consider using only the icon part. A compact square or round shape covers less of the pattern for the same visual impact.
Contrast and colors
The camera needs to tell dark modules from light ones. Weak contrast is a common cause of poor scanning, whatever the logo looks like.
- Dark code on a light background. This is the safest combination. Black on white is the reference, and dark navy, dark green or deep red on white are also good choices.
- Avoid inverted codes. Light modules on a dark background may not be read by every scanner app. If you want a dark look, put the normal code on a light panel instead.
- Avoid low contrast pairs. Yellow on white, light gray on white, or two mid-tone colors may look elegant but are hard for a camera.
- Keep a clean logo background. If your logo has transparent edges or a busy design, place it on a plain light or white shape so it does not blend into the modules around it.
- Do not put the code on a photo. Busy backgrounds behind or inside the code reduce reliability. Put the code on a flat area.
Styling options such as dot shapes (square, rounded, dots, diamond) and corner styles (square, rounded, circle) are available, but the more you depart from plain square modules, the more you should test.
Quiet zone and data length
Two things that have nothing to do with the logo still affect whether it scans.
The quiet zone. This is the empty margin around the code. If text, borders, a photo edge or the paper edge runs into it, scanners can struggle to find the code. When you add a frame, keep the margin clear. Details are in QR code size for printing.
How much data is inside. More characters mean a denser pattern with smaller modules. A long URL with tracking parameters, or a long text block, makes the code busy, and a logo on top of a busy code leaves less margin for error. Two ways to keep it lighter:
- Use a short URL pointing to a clean page.
- Use a dynamic code, where the pattern holds a short link (https://generateqr.link/r/
) that redirects to your destination. Dynamic codes for URL, Email, Phone, WhatsApp and SMS are free but need a free account. The difference is explained in static vs dynamic QR codes.
This matters most for types with long content. A WiFi code (WIFI:T:WPA;S:
Test checklist before you publish or print
Run through this every time, especially before anything goes to a printer.
- Scan with two or more phones. Use at least one iPhone and one Android phone, plus the built-in camera and a separate scanner app if you can.
- Scan from the real distance. A flyer is scanned from arm's length, a poster from further away, a window sticker from the pavement. Test at that distance.
- Scan the printed version, not only the screen. Print a test copy at final size on the final material if possible.
- Check different lighting. Try bright light, dim light and a glossy surface at an angle.
- Confirm the destination. Open the result and check that the link, number, message or WiFi login does what you intend.
- Try a slightly smaller logo. If scanning works only barely, shrink the logo a bit. A code that works with a safety margin beats one that works on the edge.
- Check the size. A logo needs room, so go larger than the minimum print size. See QR code size for printing for size guidance and file formats.
Common mistakes and how to fix them
| Mistake | What happens | Fix |
|---|---|---|
| Logo too large | Works on screen, fails in print | Reduce the logo and retest in steps |
| Light code on dark background | May not be read by some apps | Use dark modules on a light background |
| Low contrast brand colors | Slow or no scanning | Darken the code color or lighten the background |
| Covering the corner squares | Phone cannot locate the code | Keep the logo in the center only |
| Frame or border touching the code | Quiet zone is lost | Leave clear space around the code |
| Very long URL | Dense pattern, small modules | Shorten the link or use a dynamic code |
| Stretched or squeezed image | Modules are no longer square | Keep the proportions when resizing |
| Low resolution PNG enlarged for print | Blurry edges | Download SVG for print |
| Testing on one phone only | Surprises later | Test several devices |
Static or dynamic with a logo
The choice depends on whether you may need to change the destination later. Whichever you pick, check in the generator that the logo and styling options are available for that type, and test the result with a real phone.
- Static: the data is written directly into the pattern. It never expires, cannot be edited and cannot be tracked. No account is needed, and the data is generated in your browser.
- Dynamic: you can change the destination later without reprinting and see scan statistics such as total scans, scans in the last 7 and 30 days, top country, and breakdowns by country, device, operating system and browser. If you pause or delete it, scanning shows a "not active" page. See how to track QR code scans for what to do with those numbers.
If the code goes on something expensive to reprint, such as packaging, a sign or a vehicle, a dynamic code is the safer pick for URLs, email, phone, WhatsApp and SMS. If you need a WiFi, vCard or UPI code, it is static, so finalize the details and test before printing.
Make yours
Open the QR code generator, choose your type, add your colors and upload your logo. Keep the logo small, keep the contrast high, then run the checklist above on a printed copy. If you only need a basic code first, create a QR code for free and add the styling afterwards.
Frequently asked questions
How big can the logo be on a QR code?
There is no exact size that is guaranteed for every code, so test it. Remember that the covered area counts, not the width, so a logo half as wide as the code covers about a quarter of it. Start small and enlarge only while scanning stays fast on several phones.
Does adding a logo make a QR code harder to scan?
It can, because the logo hides part of the pattern and uses up some of the error correction. A small, centered logo on a high contrast code with error correction level H usually scans fine. Always confirm with a real phone.
Can I put a logo on a dynamic QR code?
The generator lists the logo and styling options for the site, but check in the generator that they are available for the dynamic type you choose, and test the result with a real phone. Dynamic codes need a free account and are available for URL, Email, Phone, WhatsApp and SMS.
Should I download PNG or SVG for a logo QR code?
Use SVG for print, since it is a vector format and stays sharp at any size. PNG works well for screens and small prints.
Why does my logo QR code scan on screen but not on paper?
Print adds blur, ink spread, glare and a smaller real size, which all use up the reserve that error correction provides. Make the logo smaller, increase contrast, enlarge the code, keep the margin clear and test a printed copy.