...
Contact Us Contact Us

How to Make a QR Code That Actually Scans (Size, Contrast, and the Print Checklist)

How to Make a QR Code That Actually Scans (Size, Contrast, and the Print Checklist) How to Make a QR Code That Actually Scans (Size, Contrast, and the Print Checklist)

QR codes had a strange decade: written off as a gimmick around 2015, then made universal by restaurant menus in 2020, and now on packaging, posters, business cards, event tickets and the back of every bus. They are cheap to make and easy to get wrong. A code that is too small, too dense, printed with low contrast, or pointing at a URL that changes next month is worse than no code at all. This guide covers what a QR code encodes, the design choices that decide whether it scans, and how to make one that keeps working after you print it.

What’s actually in a QR code

A QR code stores text: up to about 4,000 alphanumeric characters at the largest size, though anything over 300 becomes hard to scan. The phone’s camera reads the text and decides what to do with it based on the format:

  • URL (https://…): opens the browser. By far the most common use.
  • Wi-Fi (WIFI:T:WPA;S:NetworkName;P:password;;): joins the network without typing.
  • vCard: adds a contact.
  • Email, phone, SMS (mailto:, tel:, SMSTO:): pre-fills the message.
  • Calendar event, geo location, plain text.

The QR Code Generator has a form for each type so the string is formatted correctly; a malformed Wi-Fi string just shows as text and confuses people.

Advertisement

Static vs. dynamic

A static code contains the final content. It never expires, needs no service, and works offline. Its weakness is permanence: if the URL changes, every printed copy is dead.

A dynamic code contains a short redirect URL that you control, and the redirect can be changed later. It also lets you count scans. The cost is dependence on the redirect service; if that domain lapses, every code dies at once. For anything printed in quantity, use a dynamic code on a domain you own (your own short URL, or a redirect on your main site), never on a third-party free service you may not renew.

Size: the rule that decides everything

Scanning distance ÷ 10 = minimum code width. A code scanned from 30 cm (a menu, a business card) needs to be at least 3 cm wide. A poster read from 2 m needs 20 cm. A billboard from 20 m needs 2 m. Most failures I’ve seen in the wild are codes printed at 1.5 cm because that was the space left over in the layout.

Density matters too. Longer content means more modules (the little squares), so each module gets smaller at a given print size. Shorten URLs before encoding: https://toolzdirectory.com/tools/qr-code-generator/ makes a 29×29 code; a short link makes a 25×25 code with visibly larger modules.

Contrast, colour and quiet zone

  • Dark on light, always. Scanners look for dark modules on a light background. Inverted codes (white on black) fail on many readers.
  • Keep contrast high. Dark navy on cream works; mid-grey on light grey does not. Aim for the two colours to be as far apart in brightness as black and white.
  • Leave the quiet zone. A blank margin of four modules on every side. Designers crop it constantly, and it is the second most common cause of scan failure.
  • Logos in the middle work because of error correction (see below), but keep the logo under 20% of the area and test the result.

Error correction

QR codes include redundancy so they scan even when part of the code is damaged or covered. Four levels: L (7% recoverable), M (15%), Q (25%), H (30%). Higher correction means a denser code. Use M for clean digital use, Q or H for print that will be handled, folded, or carry a logo. The generator lets you choose.

Before you print

  1. Export as SVG or a high-resolution PNG (at least 1,000 px) so it stays sharp at any size. A 200 px PNG scaled up on a poster will blur the module edges.
  2. Test on both iPhone and Android cameras, from the real distance, under the real lighting. Glossy paper under spotlights produces glare that kills contrast.
  3. Put a short human-readable URL underneath. Some people cannot or will not scan.
  4. Add UTM parameters to the URL so you can see the scans in analytics; the Campaign URL Builder does that, and a utm_medium=qr tag tells you which poster worked.
  5. Open the URL one last time from the proof. Typos in QR codes are permanent.

Frequently asked questions

Do QR codes expire?

Static codes never expire. Dynamic codes expire if the redirect service stops working or you stop paying for it.

How small can a QR code be?

About 2 cm for a short URL scanned from close range with a modern phone. Smaller is possible but fails often.

Can I put a QR code on a dark background?

Print the code in a light box on the dark background, so the code itself is still dark on light. Do not invert the colours.

Are QR codes safe to scan?

The code is just text; the risk is where the URL goes. Phones show the URL before opening it; read it, and be cautious of codes stuck over other codes on parking meters or posters.

Try it now: QR Code Generator

Free, runs in your browser, nothing uploaded, no sign-up.

Open the tool →
Add a comment Add a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Submit Comment

Advertisement
Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.