QR.technology Free · Private · No sign-up
// learn · reference

QR code capacity: how much data fits?

A QR code holds at most 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes — but only at the largest size (version 40) with the lowest error correction. Real codes are far smaller. This page lists the capacity of every version at every error-correction level.

Reading time ~5 minReference

The maximums

A QR code's capacity depends on three things: its version (size, from 1 to 40), its error-correction level (L, M, Q or H) and the encoding mode chosen for the characters. The absolute limits, at version 40 (177×177 modules) with level L, are:

ModeLevel LLevel MLevel QLevel H
Numeric (0–9)7,0895,5963,9933,057
Alphanumeric4,2963,3912,4201,852
Byte (UTF-8 text, URLs)2,9532,3311,6631,273

Kanji mode, used for Japanese text, tops out at 1,817 characters. Note that byte capacity counts bytes, not characters: an accented letter takes 2 bytes in UTF-8, most Chinese or Japanese characters 3, and an emoji 4.

Encoding modes

  • Numeric — digits only, packed three digits into 10 bits. The densest mode.
  • Alphanumeric — 45 characters: 0–9, upper-case A–Z, space and $ % * + - . / :. Two characters per 11 bits. Lower-case letters are not included.
  • Byte — any data, 8 bits per byte. Web links (which contain lower-case letters) and most text use this mode.
  • Kanji — Shift JIS double-byte characters, 13 bits each.

Encoders can switch modes within one code to save space; the generator on this site encodes everything as UTF-8 bytes, which every phone reads correctly.

Capacity of every version

Byte-mode capacity for each error-correction level, plus numeric and alphanumeric capacity at level L. Each version adds 4 modules per side: version v is (17 + 4v) modules square. Figures were computed with an ISO/IEC 18004-conformant encoder and match the published specification tables.

VersionModulesBytes LBytes MBytes QBytes HNumeric LAlnum L
121×2117141174125
225×25322620147747
329×295342322412777
433×3378624634187114
537×37106846044255154
641×411341067458322195
745×451541228664370224
849×4919215210884461279
953×5323018013098552335
1057×57271213151119652395
1161×61321251177137772468
1265×65367287203155883535
1369×694253312411771,022619
1473×734583622581941,101667
1577×775204122922201,250758
1681×815864503222501,408854
1785×856445043642801,548938
1889×897185603943101,7251,046
1993×937926244423381,9031,153
2097×978586664823822,0611,249
21101×1019297115094032,2321,352
22105×1051,0037795654392,4091,460
23109×1091,0918576114612,6201,588
24113×1131,1719116615112,8121,704
25117×1171,2739977155353,0571,853
26121×1211,3671,0597515933,2831,990
27125×1251,4651,1258056253,5172,132
28129×1291,5281,1908686583,6692,223
29133×1331,6281,2649086983,9092,369
30137×1371,7321,3709827424,1582,520
31141×1411,8401,4521,0307904,4172,677
32145×1451,9521,5381,1128424,6862,840
33149×1492,0681,6281,1688984,9653,009
34153×1532,1881,7221,2289585,2533,183
35157×1572,3031,8091,2839835,5293,351
36161×1612,4311,9111,3511,0515,8363,537
37165×1652,5631,9891,4231,0936,1533,729
38169×1692,6992,0991,4991,1396,4793,927
39173×1732,8092,2131,5791,2196,7434,087
40177×1772,9532,3311,6631,2737,0894,296

What real payloads need

Most everyday codes are small. Encoded as UTF-8 bytes:

PayloadLengthVersion at M
https://qr.technology21 bytes2 (25×25)
Wi-Fi: WIFI:T:WPA;S:CafeGuest;P:coffee-2026;;38 bytes3 (29×29)
A 46-character page URL46 bytes4 (33×33)
The same URL at level H46 bytes6 (41×41)

A typical vCard with name, phone, email and company lands around 120–200 bytes — version 7 to 10 at level M. That is still easy to scan on a business card, but it is a visibly finer grid than a short link.

Keep codes small

Just because a code can hold 2,953 bytes doesn't mean it should. Every version step makes the modules smaller at the same print size, which means a steadier hand, better light and a sharper print are needed. To keep a code coarse and robust:

  • Link, don't embed. Put long content on a web page and encode its URL. See QR codes for a PDF.
  • Shorten the URL — drop tracking parameters and use a short path on your own domain.
  • Pick the lowest error-correction level that fits your conditions; at the same version, H holds less than half of what L holds. See error correction levels.
  • Print bigger when the payload is long. See sizes and print resolution.

Watch the version change live

Type into the generator and the readout shows the version and module count as your data grows.

Open the generator

Frequently asked questions

What is the maximum capacity of a QR code?

At version 40 with error correction L: 7,089 numeric digits, 4,296 alphanumeric characters or 2,953 bytes. Higher error-correction levels reduce these limits.

How many characters can a QR code hold for a URL?

URLs are encoded in byte mode, so up to 2,953 bytes at level L or 2,331 at level M. In practice keep links under about 100 characters so the code stays easy to scan.

What size is a version 1 QR code?

21×21 modules. Each version adds 4 modules per side, up to 177×177 for version 40.

Does error correction reduce capacity?

Yes. The same version holds about 20% less at M than at L, and roughly 55–60% less at H than at L, because more space goes to recovery codewords.