What the parts of the pattern do
A QR code is not a random arrangement of squares. Every region has a job:
- Finder patterns — the three large squares in the corners. They tell a reader "this is a QR code" and which way up it is. Their 1:1:3:1:1 ratio of dark to light is what a scanner searches for first
- Alignment patterns — smaller squares that let the reader correct for perspective when the code is photographed at an angle or printed on a curve
- Timing patterns — the alternating line between the finders that tells the reader how big one module is
- Format information — stores the error correction level and which mask was applied
- Version information — present from version 7 upwards, tells the reader the code's size
- Data and error correction — everything else: your content plus the redundancy that repairs damage
This is why a logo can sit in the middle but must never cover a corner: lose a finder pattern and the reader cannot even locate the code, let alone decode it.
Static and dynamic codes
| Static QR (what we generate) | Dynamic QR | |
|---|---|---|
| Where the content lives | Inside the pattern | On the provider's server |
| Editable later | No | Yes |
| Can it expire | Never | Stops working if the subscription ends |
| Scan tracking | No | Yes |
| If the provider shuts down | Keeps working | The code dies |
| Cost | Free | $5–60 per month |
For anything going to print, a static code is safer. You only need a dynamic code if you genuinely have to change the destination later — and you are willing to accept that the code stops working when you stop paying.
Versions, capacity and error correction
QR codes come in 40 versions. Version 1 is 21×21 modules; version 40 is 177×177. Each step adds 4 modules per side and more capacity.
| Data type | Version 1 (21×21) | Version 10 (57×57) | Version 40 (177×177) |
|---|---|---|---|
| Digits | 41 | 652 | 7,089 |
| Alphanumeric | 25 | 395 | 4,296 |
| Bytes (UTF-8) | 17 | 271 | 2,953 |
Those are maximums at the lowest error correction level. In practice, aim much lower: a code above version 10 becomes fine-grained, and fine-grained codes fail on cheap cameras, at a distance, and in poor light. If you have a lot of text, put it on a web page and encode the link instead.
Are QR codes safe?
The code itself is just a container — it cannot contain a virus. The risk is entirely in where it sends you. Two things are worth knowing:
- Sticker attacks — someone pastes their own code over a legitimate one, typically on parking meters and payment terminals. Before scanning anything that will take money, check whether the code is a sticker on top of something else
- Check the address before you tap — every modern phone shows the destination URL before opening it. Read it. A shortened link that you cannot verify deserves suspicion when payment is involved
Codes that carry text, Wi-Fi details or contact information do not open anything by themselves, so they carry effectively no risk.
Frequently asked questions
What does QR stand for?
Quick Response. The name comes from the design goal: it was built to be read very fast on a production line.
Who invented the QR code?
Masahiro Hara at Denso Wave, in Japan, in 1994. Denso Wave holds patents but has always allowed free use of the standard, which is why QR codes spread everywhere.
What are the squares in the corners for?
They are finder patterns. A reader looks for their distinctive 1:1:3:1:1 dark-light ratio to locate the code and work out its orientation.
Why does a QR code still scan when part of it is damaged?
Reed–Solomon error correction. Depending on the level, between 7% and 30% of the code can be lost and still be reconstructed.
Can a QR code contain a virus?
No. It carries text. The risk lies in what that text points to — a malicious website, for example. Always read the address before opening it.
Do QR codes work offline?
Depends on content. Text, Wi-Fi, contact and location codes carry everything inside the pattern and work with no connection. Codes containing a web address need internet to reach it.