Guide
How QR Codes Work (and How to Make a Good One)
QR codes are everywhere — menus, posters, packaging, boarding passes — and yet most people who print one have no idea what is actually inside it. Understanding the basics takes five minutes and will save you from the most common mistakes: codes that will not scan from a distance, codes that break when a logo is placed on top, and codes that point at a URL nobody controls anymore.
What Is Actually Stored in a QR Code
A QR code is just text, encoded as a grid of black and white squares called modules. That text is usually a URL, but it can be a phone number, Wi-Fi credentials, a contact card, or any short string. The three large squares in the corners are finder patterns that tell the scanner where the code is and how it is rotated; the rest of the grid carries the data plus error-correction information. The more text you encode, the denser the grid becomes — which is why a short URL produces a cleaner, easier-to-scan code than a long address with tracking parameters bolted on.
Error Correction: Why Damaged Codes Still Scan
Every QR code includes redundant data that lets a scanner reconstruct the message even when part of the code is dirty, torn, or covered. There are four levels — L, M, Q, and H — which tolerate roughly 7%, 15%, 25%, and 30% damage respectively. Higher correction makes the grid denser, so it is a trade-off. This is also the trick behind logos in the middle of QR codes: the logo simply covers part of the data, and error correction fills in the gap. If you plan to overlay a logo, generate the code at level H and keep the logo under about a fifth of the total area.
Designing a Code That Scans Reliably
Three things matter most in practice. First, contrast: scanners want a dark pattern on a light background. Inverted codes and low-contrast color pairs fail often — if you customize colors with a QR code generator, keep the foreground much darker than the background, and check the pair with a contrast checker. Second, quiet zone: leave a clear margin around the code at least four modules wide; cropping it flush against other artwork is a top cause of scan failure. Third, size relative to scanning distance: a rule of thumb is that the code should be at least one tenth of the distance from which people will scan it. A code on a poster read from three meters away needs to be about 30 centimeters wide — far bigger than most people print.
Static Codes and Link Longevity
A standard QR code is static: the URL is baked into the pattern permanently. That is a feature — no middleman, no service that can shut down and break your code — but it means you should encode a URL you control and intend to keep alive. Avoid third-party link shorteners for anything printed; if the shortener changes its terms or disappears, every printed code dies with it. Encode your own domain, and test the final printed size with several phones before committing to a print run.
Want to try it yourself? The Fast Tools QR generator creates high-resolution codes with custom colors, entirely in your browser. Or browse the other guides.