How to make QR codes that actually scan

What a QR code holds, the print and contrast mistakes that stop a scan, and how to track where scans come from

What a QR code is, in plain terms

A QR code is a picture of data. The black and white squares are just ones and zeros arranged in a grid, and almost always the data they spell out is a plain web address. When a phone camera reads the pattern, it recovers the link and offers to open it. There is nothing magic stored in the code itself; it is a printable way of typing a URL for someone.

Because the code is fixed once printed, the link it points to has to be right before you generate it. The QR Code Generator builds the image from whatever link you give it, so the work that makes a code reliable happens in two places: the link you encode and the way you print the result.

Why some codes fail to scan

Most failed scans come down to physical problems, not the data. A camera has to pick out the pattern cleanly, and three things most often stop it: the code is too small for the distance, the contrast is too low, or the quiet border around it has been cropped away. Each one is easy to avoid once you know to look for it.

  • Size: a rough rule is that the code should be at least one tenth as wide as the distance people scan from. A poster read across a room needs a far bigger code than a business card.
  • Contrast: dark pattern on a light background reads best. Light-on-dark can work if the contrast is strong, but pale colors or busy photo backgrounds behind the code break it.
  • Quiet zone: keep a clear margin of empty space around all four sides. Designers often crop this off, and without it the camera cannot find the code's edges.

Download the code at a high resolution and place it at its final printed size rather than stretching a small image up, which blurs the squares. A code that looks crisp on screen can turn to mush when blown up for a banner.

Keep the link short and stable

The more characters a link has, the denser the code's grid becomes, and a denser code needs more size and sharper printing to stay readable. A short, clean link makes a simpler pattern that survives small print and imperfect scans. So point the code at a tidy address rather than a long string of tracking junk where you can avoid it.

Stability matters as much as length. Because the printed code cannot change, never point it at a link you expect to move. Send it to a stable page you control, and if the destination might change later, point the code at a short link you can redirect, so you can update where it lands without reprinting everything.

Track where your scans come from

A QR code is a bridge from the physical world into your analytics, but only if the link carries the tags that name the source. Without them, a scan from a poster looks identical to any other visit, and you lose the one thing the code was meant to prove: that the printed placement worked.

  1. Build the destination link with campaign tags that name the physical placement, such as a source of poster and a campaign for the specific event.
  2. Paste that finished, tagged link into the QR code generator.
  3. Download the code, place it at the right size with its quiet border intact, and test a real scan.
  4. Check your analytics after launch to confirm scans arrive under the source you named.

Build the tagged link with UTMatic first so the parameters are consistent, then turn that exact link into a code. Doing it in that order means the code you print already reports cleanly, and you are not tempted to regenerate it after the fact.

Test before it goes to print

A QR code is one of the few things you cannot fix after it ships, so a short test before printing is worth the minute it takes. Scan the final artwork with more than one phone, ideally a newer and an older one, since camera quality varies. Confirm it opens the right page and that the page itself looks right on a small screen, because most scans happen on a phone.

Try the scan under realistic conditions too. A code that reads on a bright monitor may struggle on glossy paper under harsh light, or at the angle people actually hold a flyer. If it hesitates, increase the size or the contrast before you commit to a print run rather than after.

Common questions about QR codes

Do QR codes expire? The code itself does not; it is a fixed image. What can stop working is the link it points to, so a code is only as durable as the address behind it.

Can I change where a printed code points later? Not directly, since the printed pattern is fixed. If you encode a short redirect link you control, you can change the final destination without reprinting the code.