QR Code Versions and Sizes, Explained
QR codes come in 40 versions from 21x21 to 177x177 modules. Here's what versions mean and how they affect size and capacity.
QR code versions run from 1 to 40, each a fixed grid size from a tiny 21×21 modules up to a dense 177×177 — and the version you end up with is decided automatically by how much data you store and how much error correction you want.
"Version" is one of the most misunderstood QR terms. It doesn't mean a software release or a newer standard — it means size. Understanding versions makes it obvious why some codes look sparse and roomy while others look like fine static. Let's demystify it. 🐾
What does "version" mean for a QR code?
A QR code's version is simply its dimensions, measured in modules (the little squares). There are 40 versions:
- Version 1 is 21×21 modules.
- Each version up adds 4 modules per side.
- Version 40 is 177×177 modules.
You can work out any version's size with a quick formula: modules per side = 17 + 4 × version. So version 5 is 17 + 20 = 37 modules across. Higher version, bigger grid, more room for data — and more, smaller squares to print.
| Version | Modules per side | Rough capacity feel |
|---|---|---|
| 1 | 21 × 21 | A short code or a few dozen digits |
| 5 | 37 × 37 | A typical short URL |
| 10 | 57 × 57 | A longer URL or contact card |
| 25 | 117 × 117 | Lots of text; getting dense |
| 40 | 177 × 177 | Maximum capacity; hard to scan small |
How is the version chosen?
Here's the key point: you usually don't pick the version directly. A good QR generator chooses the smallest version that can hold your data at your chosen error-correction level. It's an automatic result of two inputs:
- How much data you encode — more characters need a bigger grid. See how much data a QR code can hold.
- How much error correction you want — higher levels reserve more space, forcing a larger version. Our error correction guide explains the L/M/Q/H trade-off.
Short data + light error correction = low version = a clean, easy-to-scan code. Long data + heavy error correction = high version = dense and fussy.
How does version relate to the code's structure?
Bigger versions don't just add data modules — they add structural features too. As the version climbs:
- More alignment patterns appear, scattered through the grid to help scanners correct distortion on the larger area.
- From version 7 onward, an explicit version information block is added near two of the finder patterns so scanners can confirm the size.
The three finder patterns, the timing patterns, and the quiet zone stay proportionally the same across all versions. Our anatomy of a QR code guide maps all these pieces.
What about the physical size — how big should I print it?
Version sets the number of modules; physical size is up to you. The link between them is the module size — how big each little square is when printed. Scanners need modules big enough for a camera to resolve.
The distance rule of thumb
A widely used guideline is the 10:1 ratio: the scanning distance should be no more than about ten times the code's width. A code 3 cm wide scans comfortably up to roughly 30 cm away. Want it read from across a room? It needs to be much larger.
This is exactly why keeping the version low matters. A low-version code has fewer, chunkier modules, so it stays scannable even when printed small. A high-version code crammed into the same physical square has tiny modules that blur. For real-world sizing, contrast, and materials, see our guide to printing QR codes.
Why do bigger codes get harder to scan?
It's all about module resolution. Imagine printing version 40 (177×177) on a business card. Each module becomes microscopic, and any camera shake, low light, or slight blur wipes out the fine detail. The scanner can't tell one module from its neighbor and the code fails.
The lesson echoes our capacity advice: encode less, print bigger modules, scan more reliably. If you find yourself needing a high version, first ask whether the payload can be shortened. A brief URL in a static code beats a sprawling one every time.
Can two codes of the same version hold different amounts of data?
Yes — and this catches people out. Version fixes the grid size, but not how that grid is divided between your message and its error correction. A version-10 code at level L devotes most of its modules to data; the same version-10 code at level H hands a big share over to recovery bytes, leaving noticeably less room for your message.
The encoding mode matters too. A version-10 code stuffed with pure digits (numeric mode) holds far more than the same version carrying a mixed-character URL (byte mode). So "version 10" doesn't map to a single capacity figure — it's a size that yields different capacities depending on the error level and data type. Our guides to data capacity and encoding modes break those factors down.
Do micro QR codes fit into this?
There's a separate, smaller family called Micro QR codes, with their own tiny version range (M1–M4) and a single finder pattern, designed for very small marking jobs with minimal data. They're part of the same standard family but aren't the everyday QR codes you scan on posters. For general use — links, Wi-Fi, contacts — standard versions 1–40 are what you'll encounter.
Choosing wisely
You rarely need to think about version numbers directly. Just remember the chain of cause and effect: keep your data short, choose an error level that matches the real risk, and the generator will settle on a low version that prints crisp and scans from a distance. Everything else follows from that.
When you're set, you can create a free QR code with QR Puppy — static, open source, and sized sensibly by default.
Frequently asked questions
What is the smallest QR code?
The smallest standard QR code is version 1 at 21×21 modules. It holds only a little data — a few dozen digits or a very short piece of text. For even smaller marking, the separate Micro QR family goes smaller still.
What is the largest QR code?
Version 40, at 177×177 modules. It can store the maximum capacity — thousands of characters — but the modules become so fine that it's difficult to scan unless printed large, so it's rarely practical.
Can I force a specific version?
Some generators let you set a minimum version, but the tool will still bump it up if your data won't fit at your chosen error level. In general, letting the generator pick the smallest workable version gives the most scannable code.
How big should I print my QR code?
Use the roughly 10:1 rule: the code should be about one-tenth of the maximum scanning distance. For a code scanned at arm's length, a few centimeters is fine; for signage read across a room, make it much larger.
Does a higher version mean a newer or better code?
No. Version means size, not quality or a software release. A higher version simply holds more data on a bigger grid — and it's actually harder to scan when printed small, so lower is usually better.
Make a QR code the honest way 🐾
Free forever, no tracking, no expiry — generated right in your browser.