All Posts

How to Add a Logo to a QR Code Without Breaking It

A QR code with your logo in the center looks professional and reinforces brand recognition. But cover too many modules and the code stops scanning. Here is exactly how much you can cover, what error correction level to use, and how to do it right.

Why Logo QR Codes Work (Thanks to Error Correction)

QR codes have built-in redundancy called error correction. When a QR code is generated, extra data is added using a Reed-Solomon algorithm that allows the code to be read even when some modules are missing or obscured. This is originally designed to handle printing damage, but it also means you can intentionally cover part of the code with a logo.

There are four error correction levels: L (7% recovery), M (15%), Q (25%), and H (30%). To safely add a logo, you need level H, which tolerates up to 30% data loss. This means your logo can cover up to roughly 30% of the QR code area — but you should stay well under that limit for reliable scanning.

The practical recommendation is to keep your logo under 20% of the total QR code area. This provides a comfortable margin between the logo coverage and the error correction capacity, accounting for slight alignment variations and the fact that the logo may partially overlap critical structural patterns. For a full rundown of color, shape, and branding options, see our design guide at honestqr.net/guides/custom-qr-code-design.

Logo Size and Placement

The center of the QR code is the best location for a logo. The three finder patterns (large squares) are in the corners, and the alignment pattern is near the bottom-right. The center has the least structural importance, making it the safest area to cover.

For a QR code that is 300x300 pixels, your logo should be no larger than about 90x90 pixels (30% of width). For comfortable scanning margin, aim for 60x60 to 75x75 pixels. If your logo is not square, calculate based on the bounding box that contains it.

Always add a small white or light-colored padding around the logo. This creates visual separation between the logo and the surrounding QR modules, which helps both human readability and scanner accuracy. Without padding, the logo edges can blend into adjacent modules and cause scanning failures.

Step-by-Step Process

First, generate your QR code with error correction level H. Most QR generators default to level M, so you need to explicitly select H. On Honest QR, the error correction level is configurable in the customization options.

Second, prepare your logo. Use a high-resolution version on a solid background (white works best). Transparent backgrounds can work but are riskier because the QR modules may show through the logo. Simplify the logo if needed — fine details will not be visible at the small size it will appear in the QR code.

Third, overlay the logo on the center of the QR code. If you are doing this manually in an image editor, center it precisely. If using a QR generator with built-in logo support, upload the logo and the tool handles placement automatically.

Finally, test the result. Scan the code with at least three different phones (an iPhone, a mid-range Android, and a budget Android). Test in different lighting conditions and at the size you plan to print. If any phone struggles, reduce the logo size slightly and test again.

Common Mistakes That Break Logo QR Codes

The most common mistake is using error correction level M or L with a logo. At level M, only 15% of the code is recoverable. A logo covering 20% of the code will cause scanning failures. Always use level H when adding a logo.

Another frequent problem is covering the finder patterns or timing patterns. Even with level H error correction, these structural elements are critical for code detection. Never let your logo extend into the corner areas where the finder patterns sit.

Using a logo that is too complex or too colorful can also cause issues. The scanner needs to distinguish between the logo (which it should ignore) and the QR modules (which it needs to read). A logo with lots of small black details can be confused with QR modules. Use simple, clean logos with solid fills.

Finally, do not add a logo to an already dense QR code. If your code contains a long URL with many characters, the module grid is very fine. Adding a logo to a dense code pushes the error correction to its limit. Use a short URL or dynamic code to keep the module count low before adding a logo. Our size guide at honestqr.net/blog/qr-code-size-guide-minimum-print-size explains how module density affects print sizing.

Alternatives to Center Logos

If you want brand recognition without the risk of covering modules, consider these alternatives. Custom colors are the simplest — change the foreground color to match your brand (dark colors only; always maintain strong contrast with the background).

Custom module shapes add visual interest without covering data. Some generators offer rounded modules, dots instead of squares, or other shapes. These are purely cosmetic changes to how the modules are rendered and do not affect error correction.

Frame or border branding puts your logo or brand name in the quiet zone around the QR code rather than on top of it. This avoids any scanning risk while still associating the code with your brand. Add a text label below the code with your brand name and call to action. For additional contrast and placement rules that keep branded codes scannable, review our best practices guide at honestqr.net/guides/qr-code-best-practices.

Frequently Asked Questions

What error correction level should I use for a logo QR code?

Always use level H (30% recovery) when adding a logo. Lower levels do not have enough redundancy to compensate for the modules covered by the logo. Without level H, your code may fail to scan on some devices.

How big can the logo be on a QR code?

Keep the logo under 20% of the total QR code area for reliable scanning, even though error correction level H technically allows up to 30%. The 10% margin accounts for alignment variations and ensures compatibility across all scanning devices.

Can I add a logo to a dynamic QR code?

Yes. Dynamic QR codes encode a short redirect URL, which means they have fewer modules than static codes encoding long URLs. This makes them ideal for logos because the lower module density gives each module more physical space, improving scannability even with a logo overlay.

Ready to create your QR code?

Free static QR codes with a free account. Dynamic codes from $19 lifetime.