Glossary Term

QR Code Version

glossary qr code version featured

A QR code version is a size grade from 1 to 40 that sets how many modules the code’s grid has and how much data it can hold. Version 1 is a 21 x 21 grid. Each step up adds 4 modules per side, ending at Version 40 with a 177 x 177 grid.

Why QR Code Version Matters

The version decides how dense a code looks and how large it must be printed. A higher version packs more modules into the same width, so each module shrinks and is harder for a camera to resolve. Most scanning problems on print come from a version that grew larger than the designer expected.

You do not pick a version directly in most generators. The generator chooses the smallest version that fits your data at your chosen error correction level. Your inputs, not the generator, push the version up.

QR Code Version Size Chart

QR code size in modules follows one formula: 17 + (4 x version number) per side. The ISO/IEC 18004 standard defines all 40 versions.

Version Grid (modules) Total modules Printed width at 0.5 mm per module*
1 21 x 21 441 14.5 mm
2 25 x 25 625 16.5 mm
3 29 x 29 841 18.5 mm
5 37 x 37 1,369 22.5 mm
10 57 x 57 3,249 32.5 mm
20 97 x 97 9,409 52.5 mm
40 177 x 177 31,329 92.5 mm

*Includes the 4-module quiet zone on each side. Module size is a design choice, so printed width scales with it.

QR Code Capacity by Version

QR code capacity depends on three things: the version, the error correction level, and the type of data. Byte mode, which covers URLs, holds the least. Numeric holds the most.

Version Level L Level M Level Q Level H
1 17 bytes 14 11 7
2 32 26 20 14
3 53 42 32 24
5 106 84 60 44
10 271 213 151 119
20 858 666 482 382
40 2,953 2,331 1,663 1,273

At Version 40 and level L, a code holds 7,089 numeric digits, 4,296 alphanumeric characters (capitals, digits and a few symbols) or 2,953 bytes. Version 1 at level L holds 41 digits, 25 alphanumeric characters or 17 bytes. These figures match the ISO/IEC 18004 tables and were reproduced with the open-source Segno library (version 1.6.6).

How the Version Gets Chosen

The version is the smallest one whose capacity fits your data at your error correction level. Two inputs raise it: more characters and a higher level. Error correction adds repair modules, so level H needs a larger grid than level L for the same content.

URL length is the usual cause. Results for four URLs, encoded with Segno 1.6.6:

URL Characters Version at level L Version at level H
Short link 20 2 3
Plain page URL 27 2 4
URL with 3 UTM parameters 83 5 8
URL with 5 UTM parameters 169 8 13

The UTM example is the same string used in most campaigns:

https://linkutm.com/?utm_source=facebook&utm_medium=social&utm_campaign=spring-sale

Segno mixes encoding modes to save space. Encoders that use byte mode only can land one or two versions higher, so treat these as the best case.

How a Scanner Reads the Version

The version is not a label. A scanner works it out from the grid, using the three corner finder patterns and the code’s side length. Versions 1 to 6 are identified by size alone. Versions 7 and up also carry two 18-bit version information blocks next to the finder patterns. Larger versions add more alignment patterns, which correct warping across a big grid.

Are There Other QR Code Versions?

Yes, two smaller families exist. Model 1, the original 1994 design from Denso Wave, stops at Version 14. Model 2 is the current standard and runs to Version 40. Micro QR codes, labelled M1 to M4, have a single finder pattern and a grid from 11 x 11 to 17 x 17. Phone cameras read Model 2 reliably, and Micro QR support varies by app, so avoid Micro QR for public campaigns.

How to Keep the QR Code Version Low

Lower versions scan from farther away and print smaller. Four steps help:

  1. Shorten the encoded URL. A short redirect link often drops the code by three or more versions.
  2. Remove tracking parameters from the encoded string and let a redirect carry them.
  3. Use level M or Q unless the code needs a logo or faces rough handling.
  4. Keep text in capitals if you must encode text, since alphanumeric mode packs tighter than byte mode.

Frequently Asked Questions

What is a QR code version?

A QR code version is a number from 1 to 40 that defines the size of the code’s module grid. Version 1 is 21 x 21 modules and Version 40 is 177 x 177. The version also sets the maximum data the code can hold.

What are QR code versions 1 to 40?

They are 40 standard sizes, each 4 modules wider and taller than the last. Version 1 holds 17 bytes at level L, and Version 40 holds 2,953 bytes. The grid is always square.

How do I find the version of a QR code?

Count the modules along one side, subtract 17 and divide by 4. A code 29 modules wide is Version 3, since 29 minus 17 is 12. Most generators and decoder libraries also report the version directly.

What is the QR code capacity?

The maximum is 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes, all at Version 40 and level L. Real codes hold far less. A typical campaign URL fits comfortably in Version 5 or lower.

Does a higher version make a QR code harder to scan?

Yes, at a fixed print width. More modules mean smaller modules, which need a sharper image and better lighting. Printing larger or shortening the data restores the margin.

To keep every campaign code at a low version, generate a short-link QR code with linkutm.