How to Design a Custom QR Code That Still Scans
Adding a logo or brand colors to a QR code is a real design tradeoff against scan reliability, not just a styling choice. Here's how to get both.
Elena Ruiz
Offline & Retail Marketing Specialist
QR Code Marketing Blueprint Guide
A QR Code Is a Data Grid Before It's a Design Element
It's easy to treat a QR code as just another graphic element to style, drop in brand colors, shrink it to fit a layout, add a logo. Underneath the visual, though, it's a dense grid of black and white modules encoding data, and a scanner reads that grid by detecting contrast between modules, not by recognizing your brand. Every customization choice is really a tradeoff against how reliably that contrast reads.
This doesn't mean customization is off the table, plenty of well-designed branded codes scan perfectly. It means every design decision, color, logo placement, size, needs to be made with an understanding of what it costs in scan reliability, not purely on how it looks in a mockup.
Error Correction: The Buffer That Makes Customization Possible
QR codes support four levels of error correction, ranging from about 7% to about 30% of the code's data that can be damaged or obscured and still scan successfully. This built-in redundancy exists so a scratched, dirty, or partially covered code can still be read, and it's also what makes embedding a logo possible at all: the logo covers part of the grid, and error correction fills in the gap.
The tradeoff is that higher error correction makes the grid itself denser and more complex, which means the code needs to be printed larger to stay reliably scannable. If you're embedding a logo, use the highest error correction level your generator offers, and compensate for the added density with adequate print size rather than shrinking the code to fit a tight layout.
Logo Size and Placement: The 30% Rule of Thumb
A commonly used guideline is keeping any embedded logo to roughly 30% or less of the code's total area, centered rather than placed off to one side. This isn't an arbitrary aesthetic preference, it's roughly the ceiling that even high-level error correction can reliably compensate for. Push meaningfully past that and you risk the code failing to scan even under good lighting conditions.
Center placement matters because QR scanners rely on three distinctive position markers in the corners of the grid to orient and read the code. A logo placed near a corner risks obscuring one of these markers, which causes far more scan failures than a same-size logo placed dead center, away from the corner markers entirely.
Color Choices: Contrast Is Not Negotiable
Brand colors are tempting to apply directly to a QR code, but the fundamental requirement doesn't change: scanners need strong contrast between the foreground modules and the background. Dark modules on a light background work reliably; light modules on a dark background can work but is riskier and less consistently supported across scanner apps. Two similarly-toned brand colors, a medium blue on a medium gray, for example, can fail to scan even though they look fine to a human eye.
A safe approach is keeping the module color a genuinely dark shade, even if it's a dark version of a brand color rather than pure black, against a genuinely light background. Test any color combination on multiple actual devices before committing to a print run, since a code that reads fine on one phone's camera can fail on another with different auto-exposure behavior.
The Quiet Zone: The Margin People Forget to Leave
The quiet zone is the blank margin of background color surrounding the code itself, and scanners use it to detect where the code starts and stops. Cropping a QR code tightly to fit a design layout, removing that margin to save space, is one of the most common causes of a code that looks fine but fails to scan, discussed in more depth in why your QR code isn't scanning.
As a rule of thumb, leave a margin equal to at least four modules' width on all sides. Most generators build this in by default, but it's easy to accidentally crop it away when placing a code into a broader print layout in a design tool afterward.
Print Size Scales With Complexity, Not Just Distance
The common advice to size a QR code based on expected scanning distance is correct but incomplete. A code with a lot of encoded data, a long destination URL, high error correction, or an embedded logo, needs a denser grid to hold that information, and a denser grid needs to be printed larger to stay scannable at the same distance compared to a simpler code. Our guide on QR code size and placement covers the distance-based sizing math in detail.
A practical shortcut: keep the destination URL as short as possible, ideally a shortened link rather than a long tagged URL, since a shorter encoded string produces a simpler grid that tolerates smaller print sizes and logo embedding more gracefully.
Testing Before You Commit to a Print Run
Never finalize a custom QR code design without testing the actual printed output, not just the on-screen preview, on multiple devices. Print a single proof at the intended size, then scan it with at least two different phone models and both major camera apps, under normal lighting rather than perfect studio lighting, before approving a full print run.
This step catches problems a screen preview cannot: how the printer's actual ink density renders the contrast, whether the paper's finish (glossy versus matte) introduces glare that interferes with scanning, and whether the intended print size holds up in a real hand at a real distance.
Building the Destination Right, Not Just the Code
A beautifully designed, perfectly scannable code still fails the actual goal if the destination URL is broken, slow, or not mobile-optimized, since virtually all QR scans happen on a phone. Before finalizing the code, confirm the destination loads quickly on mobile and that it's the right page for the physical context, a landing page built for someone standing at a shelf or a table, not a generic homepage.
If you want the ability to change that destination later without reprinting, this only works with a dynamic QR code rather than a static one, since a static code has the URL baked directly into the printed grid with no redirect layer to update.
How UTMLoop Handles Logo Embedding and Branding
UTMLoop's QR code generator supports logo embedding with automatic error correction adjustment, custom foreground and background colors with contrast guidance, and dynamic redirect destinations that stay editable after the code is printed. You can design and test a branded code directly on the live demo before committing to anything, and see plan-specific customization limits on pricing.
For a broader look at combining branding with tracking rather than just the visual design, see our companion post on branded QR codes with analytics.
Frequently Asked Questions
How big can a logo be inside a QR code before it stops scanning?
A common safe guideline is keeping the logo to around 30% or less of the code's total area, centered rather than near a corner, combined with the highest available error correction level.
Can I use any two brand colors for a QR code?
Only if they maintain strong contrast between the foreground and background. Two similarly-toned colors, even if visually distinct to a human eye, can fail to scan reliably regardless of how appealing they look in a brand palette.
Why did my QR code stop scanning after I added a logo?
Most likely the logo is too large relative to the code, placed near a corner position marker, or the error correction level wasn't increased to compensate for the covered area. Increasing error correction and re-centering the logo usually fixes this.
Does the quiet zone margin really matter that much?
Yes. Scanners use that blank margin to detect where the code begins, and removing it to fit a tighter layout is one of the most common and easily avoidable causes of scan failure.
Join 14,000+ marketing growth leaders
Receive our bi-weekly breakdown of campaign analytics setups, attribution rules, naming tactics, and link-stitching blueprints. Direct to your inbox.
Continue reading blueprints
All ArticlesBuilding a QR Code Marketing Strategy That Drives ROI
A QR code without a plan is just a black and white square. Here is how to build a strategy that connects every scan back to a business goal you actually care about.
GS1 Digital Link Explained: What Retail Brands Need to Know
A new barcode standard is quietly replacing the plain QR code on retail packaging. Here is what GS1 Digital Link actually does and why brands are adopting it.