What QR codes are genuinely good for
A QR code solves one problem well: getting information from a physical surface into a device without typing. A URL on a poster, a wifi password on a café wall, contact details on a business card, a payment reference on an invoice — in each case the alternative is somebody transcribing a string of characters and getting it wrong.
They became ordinary rather than novel during the pandemic, and the useful consequence is that the behaviour is now universal: every phone camera reads them natively, and nobody needs an app or an explanation.
Where they add least value is on a screen, since anything already on a device can be a link. A QR code in an email or on a web page is usually a sign that a design was copied from print without thinking about the medium.
Making a code that actually scans
Size is the constraint people underestimate. A code needs to be large enough for the camera to resolve its smallest square from the distance a person will stand. As a rough guide, the printed width should be around a tenth of the scanning distance — a code read from two metres wants to be about twenty centimetres across.
Contrast matters and inversion breaks things. Dark code on a light background is what scanners expect; light on dark fails on many readers. Keep the quiet zone — the clear margin around the code — free of anything, because content crowding the edge prevents the scanner from finding the code's boundary.
Keep the encoded data short. More data means more squares in the same area, each one smaller and harder to resolve. A shortened URL scans reliably at sizes where a long one with tracking parameters simply will not.
Error correction, testing and the security angle
QR codes include error correction, which is why a code with a logo over the middle still works. Higher correction levels tolerate more damage at the cost of a denser code, and the practical choice is to raise it only if the code will be printed on something that gets handled, folded or weathered.
Test before printing at volume. Scan the finished artwork — not the file on your screen — with more than one phone, from the distance and in the lighting people will actually use. A code that fails after ten thousand flyers have been printed is an expensive way to learn this.
One caution worth passing on to whoever will see the code: a QR code is opaque to the person scanning it. They cannot see where it leads until they are there, which is precisely why malicious codes stuck over legitimate ones have become a common scam on parking meters and payment terminals. If you are deploying codes in public, tamper-evident placement is worth thinking about.
What to encode, and planning for change
The most useful thing to know before generating a code is that a printed one cannot be changed. If the destination might move — a campaign page, a menu, a form — encode a redirect you control rather than the final address, so that reprinting is never necessary.
Beyond plain links, codes can carry contact details as a vCard, wifi credentials that connect a device without typing a password, a phone number, an email with a subject prefilled, or a payment reference. Each of these removes a transcription step, which is where the value actually is.
Give people a reason to scan. A bare code with no label gets ignored, because scanning is a small act of trust and nobody spends it on an unexplained square. A short line saying what it does — Menu, Wifi, Register here — measurably increases how many people use it.