Marketing

How to Make a QR Code That Actually Works (Size, Contrast, Testing)

Why some printed QR codes fail in the wild, and the practical rules that make yours scannable every time.

5 min readUpdated 2026-10-06

A QR code is a machine-readable URL, and it fails the same way a URL fails: it is too small, too low-contrast, or it points somewhere broken. The difference is that a broken QR code is invisible to you and frustrating to everyone scanning it.

The four rules of a scannable code

  1. Dark modules on a light background. Inverted codes (white on black) fail on many scanners and struggle in bright light.
  2. Keep the quiet zone. Leave a clear margin equal to about four modules on every side. Many generators add it automatically — do not crop it out afterwards.
  3. High contrast, no gradients. Fancy colours and low-contrast palettes are the most common cause of “it didn’t work”.
  4. Shorter data scans faster. A short URL is more reliable than a paragraph of text, and larger modules mean faster recognition.

Generate a clean one with the QR Code Generator — choose a size of at least 512 px for print.

Sizing for print and screens

Use caseMinimum printed size
Business card2 × 2 cm
Poster / window4 × 4 cm, bigger at distance
Flyer, menu, table tent3 × 3 cm
Billboard or vehicleRoughly 1 cm of code per 1 m of scanning distance
On screen (web page)160 px minimum, 300 px comfortable

And test in the environment, not at your desk. A code that scans under office light may fail under a café’s warm lamps or behind scratched plastic.

Tracking without breaking the link

The standard trick is to point the QR code at a short URL that redirects to your real destination with UTM parameters attached. That way the printed code never changes, but your analytics can see how many scans came from the poster versus the business card. Build the tagged destination with the UTM Builder, then encode the short redirect link.

Give a printable code room to breathe: people scan from 20–40 cm, so a code buried in artwork is a code nobody uses.

Test like a stranger

  1. Print it Test on paper at final size — screens hide contrast problems.
  2. Use two phones and two camera apps Native camera and a dedicated scanner app behave differently.
  3. Scan at an angle and in low light Real scanning is rarely straight-on.
  4. Check the destination on mobile A desktop-only page after a scan is the most common expensive mistake.
  5. Verify the printed artwork Ask the printer not to scale the code independently of the design.

Finally, keep the file. When you need a favicon for the campaign landing page, the Favicon Generator produces the icons in a minute.

Frequently asked questions

Why does my QR code not scan?
Nine times out of ten it is low contrast, a missing quiet zone (the white margin), printing too small, or inverted colours. Use dark modules on a light background with a clear margin.
Do QR codes expire?
A static QR code encodes its content directly and never expires. A dynamic code points at a redirect URL and stops working only if that redirect is removed.
What is the smallest a QR code can be printed?
About 2 × 2 cm for close-range scanning such as business cards. Allow roughly 1 cm per metre of scanning distance for larger formats.

Tools used in this guide

Keep reading