How to Design QR Codes That Actually Get Scanned

June 20, 2026 · By HandyCode Team · 6 min read
Read in:

Creating a QR code is easy. Creating one that people will actually scan takes a bit more thought.

A QR code that is too small, placed poorly, or styled aggressively will confuse scanners and lose your audience. The difference between a code that gets scanned and one that gets ignored usually comes down to design decisions.

In this guide, we’ll cover the practical rules for designing QR codes that work reliably in the real world.

Quick Answer

For a QR code to get scanned consistently:

  • Make it at least 1 inch (2.5 cm) on each side for print
  • Use high contrast: dark modules on a light background
  • Leave a quiet zone of at least four module widths around the code
  • Test it with multiple phones before printing
  • Avoid aggressive customization that reduces scannability

Size Matters

The most common reason QR codes fail in the real world is that they are too small.

Scanner cameras need to resolve individual modules (the small squares that make up the code). If the code is too small relative to the scanning distance, the camera cannot distinguish the pattern.

Minimum sizes by use case:

  • Business cards and small flyers: 0.5 inches (1.3 cm) minimum
  • Posters and signage: 1 inch (2.5 cm) minimum
  • Billboards and large format: 3 inches (7.6 cm) or larger
  • Product packaging: Depends on scanning distance, but 0.4 inches (1 cm) is the absolute floor

The rule of thumb: if someone needs to hold the item closer than arm’s length to scan it, the code is too small.

Contrast Is Non-Negotiable

QR codes require high contrast between the dark modules and the light background. This is not optional — it is how the scanner distinguishes data from empty space.

What works:

  • Black modules on white background (standard, most reliable)
  • Dark blue on light gray
  • Dark green on cream

What fails:

  • Light gray on white
  • Yellow on white
  • Red on green (poor contrast for many camera sensors)
  • Any combination where the background is darker than the modules

If you are customizing colors, test the code with at least three different phones before committing to print. Camera sensors vary significantly between devices.

The Quiet Zone

Every QR code needs a quiet zone — a clear border of empty space around the code. The standard requires a quiet zone equal to at least four module widths on all sides.

Without a quiet zone, the scanner cannot tell where the code ends and the surrounding content begins. This is especially critical when the QR code is placed near text, images, or other graphics.

A simple rule: leave at least 10% of the code’s width as clear space on each side.

Error Correction: Your Safety Net

QR codes have built-in error correction that allows them to be scanned even when partially damaged or obscured. There are four levels:

  • Level L (Low): Recovers up to 7% of damaged data
  • Level M (Medium): Recovers up to 15%
  • Level Q (Quartile): Recovers up to 25%
  • Level H (High): Recovers up to 30%

Higher error correction makes the code more dense and harder to scan at small sizes. For most use cases, Level M is the sweet spot — enough redundancy without excessive density.

If you plan to overlay a logo or apply visual styling, use Level H. This gives you room to obscure up to 30% of the code without breaking it.

Customization Without Breaking Scannability

One of the most common mistakes is customizing a QR code so aggressively that it becomes unreadable.

Safe customizations:

  • Changing module colors (maintaining high contrast)
  • Overlaying a small logo in the center (no larger than 15% of total area)
  • Using rounded module corners (subtle rounding only)
  • Adding a border or frame around the code

Customizations that break codes:

  • Covering more than 30% of the surface area
  • Changing the shape of the position markers (the three corner squares)
  • Using gradients or images as the module pattern
  • Removing the quiet zone to fit more content

The position markers are the three large squares in the corners of the QR code. These tell the scanner how to orient itself. If you modify them, the code will not scan.

Placement and Context

Even a perfectly designed QR code will not get scanned if it is placed where people do not look or cannot reach.

Best practices for placement:

  • Position the code at eye level for signage
  • Place it on the back or bottom of menus (not overlapping food photos)
  • Put it near a clear call to action
  • Avoid placing it on reflective or curved surfaces
  • Leave enough space around it so the phone camera can frame the entire code

Add context: People are more likely to scan a QR code when they know what they will get. A short line of text like “Scan to view our menu” or “Scan for exclusive offer” increases scan rates significantly.

Testing Before You Print

Never print a QR code without testing it first. And not just on your own phone.

Test with:

  • At least two different phone brands (iPhone and Android)
  • Different lighting conditions (bright, dim, outdoor)
  • Different scanning distances
  • A printed version, not just a screen

Many designers test QR codes on their monitor, where the code appears large and clear. In print, the same code may be too small, too low-contrast, or too damaged by the printing process.

If you are printing on uncoated paper or textured material, expect some ink spread that can blur module edges. Compensate by using a slightly larger code or higher error correction.

Common Mistakes to Avoid

  • Making the code too small to save space — it will not get scanned
  • Using low-contrast colors to match branding — scanners need contrast, not brand consistency
  • Removing the quiet zone to fit a layout — the code will fail unpredictably
  • Over-customizing with logos and effects — 30% is the hard limit
  • Skipping the print test — screen and print behave differently

Putting It All Together

A well-designed QR code balances three things: scannability, aesthetics, and context.

Start with a code that is large enough and has high contrast. Add subtle customization if it fits your brand. Place it where people expect to look, with a clear reason to scan. Test it on real devices in real conditions.

Using a dynamic QR code platform (like HandyCode) adds one more advantage: if the code does scan but the destination needs updating, you can change the link without reprinting. That flexibility means you can iterate on your landing page or offer without wasting printed materials.

Next Steps

If you are creating QR codes for the first time, start simple: black on white, medium error correction, generous quiet zone. Once you have a code that scans reliably, experiment with colors and subtle styling.

For more on choosing the right type of QR code for your needs, see our guide on static vs dynamic QR codes. And if you want to understand what happens after someone scans, check out QR code analytics: what you can track and why it matters.