QR QR Studio

technical

QR code versions and capacity

Published 7 September 2026 · 5 min read

Every QR code is one of 40 sizes. The size is called the version, and it is a count of modules, the small squares. Version 1 is 21 modules across. Each version adds four modules a side, so version 2 is 25, version 3 is 29, and version 40 is 177. The version has nothing to do with age or software. It is only a size grade.

Why the version matters

The version decides two things at once. It sets how much text fits. It also sets how fine the squares are at any print size. Those pull in opposite directions.

A version 2 code printed 2 cm wide has 25 modules plus a four-module quiet zone each side, so 33 modules across 20 mm. That is 0.6 mm a module. A version 10 code at the same 2 cm has 65 modules across, or about 0.3 mm a module. A phone camera at arm’s length needs each module to cover several pixels of the sensor. Halve the module size and you must halve the scanning distance or double the print size.

Version 1: 21 modules. No alignment pattern. Room for 14 bytes at level M.
Version 5: 37 modules. One alignment pattern. 84 bytes at level M.
Version 10: 57 modules. Six alignment patterns and version information. 213 bytes at level M.

The three figures hold the same nine characters. The encoder pads the spare space, so each is a valid code. Compare the module size as the version climbs.

Capacity by version, mode and level

Capacity depends on three things: the version, the error-correction level (L, M, Q or H, which reserve roughly 7, 15, 25 or 30% of the code for repair data), and the encoding mode. Digits use numeric mode and pack tightest. Capitals, digits and a few symbols use alphanumeric mode. Everything else, including lowercase letters, uses byte mode. Kanji mode is for Japanese text.

Each cell below lists capacity at levels L / M / Q / H. The numbers were computed from the encoder this site uses to draw its codes, which follows the tables in ISO/IEC 18004.

VersionModulesNumeric (digits)AlphanumericByteKanji
121 x 2141 / 34 / 27 / 1725 / 20 / 16 / 1017 / 14 / 11 / 710 / 8 / 7 / 4
225 x 2577 / 63 / 48 / 3447 / 38 / 29 / 2032 / 26 / 20 / 1420 / 16 / 12 / 8
329 x 29127 / 101 / 77 / 5877 / 61 / 47 / 3553 / 42 / 32 / 2432 / 26 / 20 / 15
537 x 37255 / 202 / 144 / 106154 / 122 / 87 / 64106 / 84 / 60 / 4465 / 52 / 37 / 27
1057 x 57652 / 513 / 364 / 288395 / 311 / 221 / 174271 / 213 / 151 / 119167 / 131 / 93 / 74
2097 x 972,061 / 1,600 / 1,159 / 9191,249 / 970 / 702 / 557858 / 666 / 482 / 382528 / 410 / 297 / 235
40177 x 1777,089 / 5,596 / 3,993 / 3,0574,296 / 3,391 / 2,420 / 1,8522,953 / 2,331 / 1,663 / 1,2731,817 / 1,435 / 1,024 / 784

Three things to take from the table:

  1. Level H costs about half your capacity compared with level L at the same version. A version 3 code holds 53 bytes at L but only 24 at H.
  2. Lowercase text is expensive. HTTPS://GETQRSTUDIO.APP in capitals uses alphanumeric mode and fits in fewer bits than the same address in lowercase. Both open the same site.
  3. The jump from version 10 to version 40 multiplies capacity by about ten. Almost nobody needs it.

Three real sizes

Here is what common content actually needs at level M:

  • A short link, https://getqrstudio.app/scan?c=v, is 33 bytes. Version 2 holds 26 at level M, so the encoder picks version 3.
  • A Wi-Fi payload such as WIFI:T:WPA;S:Cafe Guest;P:latte-2026;; is 38 characters and also lands on version 3.
  • A vCard with name, company, phone, email and website runs to about 150 bytes and needs version 8, with 49 modules a side.

In practice

The version is the first thing to check when a code will not scan. If your content produced version 8 or higher and the code is smaller than a business card, shorten the content or use a dynamic short link. Do not just print it larger; the layout rarely has room.

Why phones struggle above version 10

Three things go wrong as the version climbs:

  • Module size. At version 10 a 3 cm code has modules under 0.5 mm. A camera two arm’s lengths away sees each one as a pixel or two, which is not enough to tell dark from light reliably.
  • Focus and blur. Fine detail needs sharp focus. A hand held slightly off the focus distance, or a small shake, smears adjacent modules together. Coarse grids survive this; fine ones do not.
  • Print quality. Ink spreads. A home inkjet or a thermal label printer can grow a module by a tenth of a millimetre. At 0.3 mm that is a third of the module gone.

Scanning is not impossible above version 10. Signs, posters and screens with large codes read fine at version 20. But for anything hand-held, business-card sized or on packaging, version 10 is a sensible ceiling, and version 6 or below is comfortable.

Common mistake

Encoding a long URL with several tracking parameters. It can push a link from version 3 to version 9 and triple the module count. Use a short link and put the parameters at the destination.

Where the numbers come from

A version has a fixed number of codewords of 8 bits each: 26 for version 1, 134 for version 5, 346 for version 10 and 3,706 for version 40. The error-correction level fixes how many of those are repair codewords (10 of the 26 at version 1 level M). What is left, minus a 4-bit mode indicator and a character count field, is the data budget. Numeric mode fits 3 digits in 10 bits, alphanumeric fits 2 characters in 11 bits, byte mode uses 8 bits a byte and kanji uses 13 bits a character. Divide the budget accordingly and you get every cell in the table. The encoding article shows the bits in full.

Try it yourself

Paste your own link and see which version it needs at each error-correction level. Then try it in capitals and watch the version drop.

Open the capacity calculator

Frequently asked questions

What is the maximum a QR code can hold?

7,089 digits, 4,296 alphanumeric characters, 2,953 bytes or 1,817 kanji, all at version 40 with error-correction level L.

How many characters fit in a normal-sized QR code?

A version 5 code (37 modules) holds 106 bytes at level L or 84 at level M. That is a comfortable long link with a tracking parameter.

Does a bigger version mean a bigger printed code?

Not by itself. The version is a module count. You choose the print size. A higher version at the same print size just means smaller modules.

Why does my short link produce a version 3 code and not version 1?

A version 1 code at level M holds only 14 bytes. A link with https:// and a domain is already longer than that.

Do I choose the version?

Normally the encoder picks the smallest version that fits. QR Studio does this for you and shows the result before you export.

Related reading

Make yours in QR Studio

Unlimited static codes free, no ads, no watermark. AI design, dynamic codes and print-ready export when you need them.

Download on the App Store