How to make a QR code that scans reliably

Static vs dynamic codes, error correction levels, contrast, quiet zone and print size: the details that decide whether a QR code works on the first try.

Updated

A QR code that fails on the first scan is worse than no code at all. Most failures come from a few avoidable choices: too much data, low contrast, no margin or a code printed too small for the distance.

Static or dynamic?

A static QR code stores your link or text directly in the pattern. It works forever, needs no account and cannot be changed after printing.

A dynamic QR code stores a short link owned by a service, which then redirects to your real destination. You can change the destination and see scan counts, but the code stops working if the service shuts down or the subscription ends. Read the terms before printing a dynamic code on packaging or signage.

Toolora generates static codes only: what you type is what the code contains.

Keep the content short

More characters mean more modules (the small squares), which means smaller modules at the same print size and harder scanning. Remove tracking parameters you do not need, and use the shortest URL that still points to the right page.

Error correction levels

QR codes contain redundant data so they can still be read when partly damaged or dirty. The standard defines four levels, by the approximate share of the code that can be restored:

LevelRecoverableUse when
Labout 7%Screens and clean surfaces with lots of data
Mabout 15%A good default for most print and screen use
Qabout 25%Outdoor print, surfaces that may get scuffed
Habout 30%Harsh environments, or when a small logo covers part of the code

Higher levels make the code denser, so do not use H unless you need it.

Open the QR Code GeneratorChoose the level, colors and size, then download PNG or SVG.

Contrast, colors and the quiet zone

  • Dark on light. Use a dark foreground on a light background. Many scanners also read inverted codes, but not all of them do.
  • Strong contrast. Brand colors are fine if the foreground is clearly darker. Pale colors on white and busy photo backgrounds cause failures.
  • Quiet zone. The QR specification calls for an empty margin of four modules around the code. Do not place text or graphics right up to its edge.

Print size and testing

A common rule of thumb is that a code can be scanned from about ten times its width, so a 3 cm code works at around 30 cm. For a poster read from three metres, aim for roughly 30 cm. Use SVG for print, because it stays sharp at any size.

Before printing, test the final file with at least two different phones, in normal lighting, at the real distance. If the code links to a website, check that the page works on mobile.

All guides