Skip to main contentSkip to templates
All articles
tips··5 min read

5 Design Tips for Scannable QR Codes

Essential design principles to ensure your beautiful QR codes actually work when people try to scan them.

designtipsbest-practices
QR code design examples showing good and bad practices
Ozan Tunca
Ozan Tunca
Founder of Pretty QR, passionate about design and technology

5 Design Tips for Scannable QR Codes

A scannable QR code needs strong contrast between the modules and the background, enough physical or on-screen size, a clear quiet zone around the pattern, and a modest centered logo only if error correction still has margin. Verify on several phones and in different lighting before you print or ship at scale—especially the actual printed piece if you are going to print. Once scanning is reliable, you can refine colors and styling while retesting so the code stays readable.

You know what's worse than an ugly QR code? A beautiful QR code that doesn't work.

I've seen this play out so many times—someone spends hours getting their QR code to look perfect, matches their brand colors perfectly, gets it printed on fancy cardstock, and then... nobody can scan it. The design was great. The functionality? Not so much.

Here's what I've learned about keeping QR codes both good-looking and actually usable.

Why is contrast non-negotiable for scannable QR codes?

This is where most people trip up. You can't just pick any two colors that look nice together and expect a phone camera to read them.

I once helped a friend with QR codes for their wedding invitations. They wanted light pink on cream because it matched the aesthetic. Looked gorgeous. Scanned approximately never. We ended up going with a darker rose color that still fit the vibe but actually had enough contrast to work.

Phone cameras need clear visual separation between the QR code modules and the background. If you squint at your design and the pattern doesn't pop out clearly, it won't scan reliably. Some phones might get it in perfect lighting, but you want it to work for everyone, including that person scanning with an older Android in a dimly lit room.

The WCAG contrast ratio guidelines (4.5:1 minimum) are a good starting point, but honestly? Higher is better. Aim for 7:1 if you can. Use an online contrast checker—they're free and will save you from a lot of headaches.

How big should my QR code be (for real-world scanning)?

The second most common mistake is making QR codes too small. I get it—you want to fit more content on your flyer or business card. But if people can't scan your QR code, what's the point of having it there?

For anything printed, 2cm x 2cm is the absolute minimum. I usually go bigger because "technically scannable" isn't the same as "easily scannable." Business cards can get away with 1.5cm if you're really tight on space, but that's pushing it.

There's this rough guideline that for every meter of scanning distance, you need about 10cm of QR code size. So if you're putting a QR code on a poster that people will scan from a few feet away, it needs to be substantial. I've seen event posters with tiny QR codes at the bottom and wondered who they thought was going to scan those.

For screens, don't go below 200x200 pixels. More is better. Remember that people are usually holding their phones at arm's length when scanning.

Why do I need a quiet zone (white border) around my QR code?

The empty space around your QR code—the "quiet zone"—isn't just for aesthetics. It's how scanning software figures out where your code begins and ends.

You need at least four modules worth of space (a module is one of those small squares that make up the QR code) on all four sides. And it needs to be the same color as your background, or at least a solid color that doesn't interfere.

I see people put text right up against their QR codes all the time. Or they crop them too tightly to save space. Or they put them on busy backgrounds. All of these things make scanning harder or impossible.

When in doubt, give it more breathing room. Your QR code will scan faster and more reliably, which is what actually matters.

How do I add a logo without breaking my QR code?

Logos in QR codes look professional and help with branding. But they're also where people get overly ambitious and break things.

QR codes have error correction built in—they can lose up to 30% of their data and still function. That's what lets you put a logo in the center. But that 30% is a maximum, not a target. I usually keep logos to about 20-25% of the total area, just to have some margin for error.

Also, logo placement matters. Center is safest because that's where the error correction works best. And make sure there's some visual separation—a white border around your logo helps it not interfere with the QR code pattern underneath.

I've seen people try to integrate their logo in creative ways, like having it blend into the QR code modules or placing multiple small logos around the edges. Creative? Sure. Reliable? Not really. Stick with the center, keep it reasonably sized, and you'll be fine.

How should I test my QR code on real devices before launch?

This is the step people skip, and it's the most important one.

You can't just test on your own iPhone 14 Pro and call it done. Try it on an older Android phone. Try it on someone's phone with a cracked camera lens. Try it in different lighting—bright sunlight, dim indoor lighting, fluorescent office lights.

If you're printing the QR code, test the actual printed version. I've had QR codes that looked perfect on screen but didn't scan well when printed because the printer introduced subtle color shifts that reduced contrast.

Things that should make you worry during testing: if it takes more than a couple seconds to scan, if you need multiple attempts, if you have to hold your phone at a weird angle, if it only works in good lighting. These are all signs that something needs adjustment.

Try the built-in camera app and also try dedicated QR scanner apps. Some apps are more forgiving than others, but you want it to work with the native camera since that's what most people will use.

What else should I know about shapes, gradients, and colorblind users?

Rounded corners on the modules usually work fine. Dots and circles can work too, but they're slightly less reliable. The more you deviate from standard squares, the more you need to test.

Gradients can look cool but they often cause problems. Some parts of the gradient might not have enough contrast, or different phones might interpret the colors differently. Solid colors are safer.

And while we're talking about colors—think about colorblind users. Red-green combinations are particularly problematic. When possible, use colors that differ in brightness, not just hue.

What should I check first when my QR code won’t scan?

If your QR code won't scan, here's the usual culprits:

Won't focus or won't detect? Probably too small. Make it bigger.

Takes forever to scan? Contrast issue. Increase the difference between your foreground and background colors.

Only works at certain angles or in perfect lighting? Check your quiet zone. Make sure there's enough margin around the code.

Scans inconsistently? If you have a logo, it might be too large or covering critical parts of the code. Try making it smaller or bumping up the error correction level.

What is the real takeaway for beautiful but reliable QR codes?

Design matters. Aesthetics matter. But functionality comes first, always.

Start with a QR code that scans perfectly every time. Then style it up while continuously testing to make sure it still works. Don't do it the other way around—it's way harder to fix scanning issues after you've committed to a design.

And please, actually test your QR codes before you print 10,000 copies of them. Your future self will thank you.

Try designing one yourself and see how real-time preview makes testing so much easier.

Frequently asked questions

Why does contrast matter so much for QR code scanning?

Phone cameras need a clear visual gap between the dark modules and the light background. If you squint and the pattern does not pop, many devices will struggle—especially in poor light. Strong contrast (think WCAG 4.5:1 or higher) is the single biggest predictor of reliable scans.

How big should I make a QR code for print or screens?

For print, treat about 2 cm × 2 cm as a practical minimum; go larger for posters or long scanning distances. For screens, avoid going under about 200×200 pixels. When in doubt, bigger is easier to scan than “just technically big enough.”

What is the quiet zone, and why can’t I crop it away?

The quiet zone is the empty margin around the code—roughly four modules of clear space on every side, matching your background. Scanners use it to find the code edges. Cropping tightly, stacking text against the code, or busy backgrounds all eat that margin and make detection unreliable.

How large can my logo be inside a QR code?

Error correction allows roughly up to 30% damage, but that is a limit—not a goal. Keep a centered logo closer to 20–25% of the area, add a clear border, and retest. If scans get flaky, shrink the logo or raise error correction before you print.

How should I test a QR code before I commit to a big print run?

Use multiple phones (new and old), the built-in camera and a few scanner apps, and several lighting conditions. If printing, test the actual printed piece—inks and paper change contrast. Slow scans, multiple attempts, or weird angles mean your design still needs work.