A QR code is only useful if it scans on the first attempt. Most codes that fail do so for boring, fixable reasons. Get a handful of basics right and yours will work from a phone, a poster, or a printed flyer.
Contrast is everything
Cameras read QR codes as light and dark squares. Keep the code noticeably darker than its background. Dark-on-light is safest; if you invert it, test carefully, because many scanners struggle with light-on-dark.
Leave the quiet zone
That empty margin around a QR code isn't wasted space — it's the "quiet zone" that tells a scanner where the code begins and ends. Crop it out and scans get unreliable. Leave clear padding on all four sides.
Don't shrink it too far
A code needs enough physical size for a camera to resolve its squares, especially in print. As a rough rule, bigger is safer — and the more data you encode (a long URL), the denser and harder-to-scan it becomes. Short links help.
Use error correction wisely
QR codes have built-in error correction, so they still scan with a bit of damage or a logo on top. Higher correction means more resilience but a denser code. If you're adding a logo, raise the correction level to compensate.
Whatever you generate, test it with two or three different phones before it goes to print. A thirty-second check beats reprinting a thousand flyers.