How QR codes work
A QR code looks like noise. It is actually one of the most disciplined data formats in daily use — every pixel block has a job, and understanding the jobs explains almost everything practical: why codes survive damage, why long links make dense patterns, and why the white margin is not decorative.
The anatomy, in five parts
- The three big corner squares are *finder patterns*. The scanner hunts for their distinctive dark-light-dark ratio first — that is how it finds the code in a busy photo, at any rotation, in a fraction of a second.
- The smaller square near the fourth corner is an *alignment pattern* (bigger codes have several): it corrects perspective distortion when the code is photographed at an angle or on a curved surface.
- The timing lines — the alternating dots connecting the finder squares — give the scanner the module grid's exact rhythm.
- The quiet zone, the clear margin around everything, tells the scanner where the code *ends*. It is required by the standard, and cropping it is a leading cause of scan failures.
- Everything else is data — your content plus its insurance policy, laid out in a precise zigzag.
Modules, versions, and why link length matters
The small squares are *modules* — the bits. The standard defines 40 sizes ("versions") from 21×21 to 177×177 modules; the generator picks the smallest that fits your data. Practical consequence: a 30-character URL yields a sparse, forgiving pattern; a 200-character tracking-parameter monster yields a dense grid of tiny modules that needs more printed size to stay readable. Shortening your link literally simplifies the physical object.
Error correction: the insurance built into the pattern
Alongside your data, the code stores redundancy using Reed-Solomon codes — the same mathematics that let scratched CDs play. Four levels exist: L (~7% recoverable), M (~15%), Q (~25%) and H (~30%). Choose H for anything printed: it is what lets a scuffed, sun-faded or partially covered code still reconstruct its message — and it is the *entire* mechanism that makes center logos possible: the logo deliberately covers modules, spending the reserve. Which is why a logo without maximum correction is a code living on borrowed math.
What a QR code is not
It is not encrypted, not "smart", and not alive: it is printed storage. It cannot update itself, phone home, or expire — anything that expires is a server someone put between the code and the destination, not the code. And it holds whatever it was given at creation, typos included, forever: hence the verification routine before printing.
The practical takeaways
Short link → simpler pattern. Correction level H → damage and logo insurance. Quiet zone → non-negotiable. Direct destination → nothing to expire. Everything else on this site is these four sentences, applied.
Frequently asked questions
What do the three big squares in a QR code do?
They are finder patterns: the scanner locates them first to determine the code's position, orientation and scale. That is why a QR code scans upside down or at an angle.
Why do QR codes still work when partially damaged or covered?
Error correction: the code stores redundant recovery data alongside your content. At the highest level, up to about 30% of the pattern can be damaged, dirty or covered by a logo and the message still reconstructs perfectly.
Why does a longer link make a denser QR code?
More data needs more modules. The QR standard defines 40 versions, from 21×21 to 177×177 modules; the generator picks the smallest version that fits your data, so shorter links produce simpler, more scannable codes.
Is the data in a QR code encrypted?
No. A QR code is storage, not security — anyone who scans it reads exactly what it contains. That is also why you can always verify what a code encodes before printing it.
Create a QR code that answers to no server.
Static, permanent, yours. €5 once — no subscription, no expiry, print-ready files.
Create my permanent QR