What is a QR code, and how does it work?
A QR code is a two-dimensional barcode that stores text — usually a link — as a grid of black and white squares that any phone camera can read without an app.
6 min read · Updated
The name is short for Quick Response code. It was invented in 1994 by Denso Wave, a Toyota subsidiary, to track car parts faster than a striped barcode could — hence the emphasis on speed. A regular barcode stores data in one direction, so it runs out of room after a dozen or so characters. A QR code stores data in two directions at once, which is why it can hold a full URL, a contact card or a Wi-Fi password.
What the pattern is actually made of
Every QR code is a grid of squares called modules. A few of them are fixed landmarks rather than data:
- Finder patterns — the three big squares in the corners. A scanner looks for these first; they tell it where the code is and how it is rotated. That is why a QR code scans upside down.
- Alignment patterns — smaller squares that let the scanner correct for a curved or tilted surface, like a bottle or a badge held at an angle.
- Timing patterns — the dotted lines between the finders, which set the module size so the scanner knows how big one square is.
- Format and version information — a small strip encoding which error correction level was used and how big the grid is.
Everything else is your data plus its error correction. When you change the eye shapes and colours in the generator, you are restyling those landmarks — the scanner only needs the contrast and the proportions to survive.
Version: why more text makes a denser code
QR codes come in 40 versions. Version 1 is a 21×21 grid; each step adds four modules per side, up to 177×177 at version 40. The encoder picks the smallest version your data fits into, so a short link produces a chunky, forgiving code and a long one produces a fine-grained code that needs a better camera and a bigger print.
This is the single most useful thing to know about QR codes: shorter content means bigger squares, and bigger squares scan from further away and survive worse printing. If a code looks like dense noise, shorten the link before you touch anything else.
Error correction: why a damaged code still works
QR codes use Reed–Solomon error correction — the same family of maths that keeps a scratched CD playing. Redundant data is baked into the grid so a scanner can rebuild modules it cannot read. You choose how much redundancy to spend:
| Level | Recovers up to | Use it when |
|---|---|---|
| L — Low | ~7% | On-screen only, long content, clean conditions |
| M — Medium | ~15% | The sensible default for most printing |
| Q — Quartile | ~25% | Small logo, or print that may scuff |
| H — High | ~30% | Large logo, artistic codes, packaging |
Swipe the table to see all columns.
Redundancy is not free: raising the level makes the code denser for the same content. That trade — more forgiveness, finer modules — is the reason adding a logo works at all.
The quiet zone is part of the code
A QR code needs an empty margin of at least four modules on every side. Without it a scanner cannot tell where the grid ends, and the code fails even though the pattern itself is perfect. Cropping tight to the black edge is one of the most common reasons a printed code stops working.
Static vs dynamic codes
A static code contains your actual content. It works forever, offline, with nobody in the middle — and it cannot be changed after printing. A dynamic code contains a short redirect URL owned by a service; the destination can be edited later and scans can be counted, but the code stops working if that service disappears or starts charging.
Every code made here is static by design. If you need editability, point the code at a page you control — your own short link — so the redirect belongs to you rather than to a vendor.
What a QR code can hold
A QR code is just text. What makes a phone offer to join a network or save a contact is the format of that text, which follows conventions scanners recognise: a WIFI: string for networks, BEGIN:VCARD for contacts, geo: for coordinates. The generator writes those for you — see the guides on Wi-Fi codes and contact cards.
Is “QR Code” a trademark?
Yes — the term is a registered trademark of Denso Wave. The specification itself is open (ISO/IEC 18004) and Denso Wave has never charged for using it, which is why the format is everywhere. You can generate, print and sell products carrying QR codes freely; you simply should not imply that you are Denso Wave.