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.
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:
| Mode | Level L | Level M | Level Q | Level H |
|---|---|---|---|---|
| Numeric (0–9) | 7,089 | 5,596 | 3,993 | 3,057 |
| Alphanumeric | 4,296 | 3,391 | 2,420 | 1,852 |
| Byte (UTF-8 text, URLs) | 2,953 | 2,331 | 1,663 | 1,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.
| Version | Modules | Bytes L | Bytes M | Bytes Q | Bytes H | Numeric L | Alnum L |
|---|---|---|---|---|---|---|---|
| 1 | 21×21 | 17 | 14 | 11 | 7 | 41 | 25 |
| 2 | 25×25 | 32 | 26 | 20 | 14 | 77 | 47 |
| 3 | 29×29 | 53 | 42 | 32 | 24 | 127 | 77 |
| 4 | 33×33 | 78 | 62 | 46 | 34 | 187 | 114 |
| 5 | 37×37 | 106 | 84 | 60 | 44 | 255 | 154 |
| 6 | 41×41 | 134 | 106 | 74 | 58 | 322 | 195 |
| 7 | 45×45 | 154 | 122 | 86 | 64 | 370 | 224 |
| 8 | 49×49 | 192 | 152 | 108 | 84 | 461 | 279 |
| 9 | 53×53 | 230 | 180 | 130 | 98 | 552 | 335 |
| 10 | 57×57 | 271 | 213 | 151 | 119 | 652 | 395 |
| 11 | 61×61 | 321 | 251 | 177 | 137 | 772 | 468 |
| 12 | 65×65 | 367 | 287 | 203 | 155 | 883 | 535 |
| 13 | 69×69 | 425 | 331 | 241 | 177 | 1,022 | 619 |
| 14 | 73×73 | 458 | 362 | 258 | 194 | 1,101 | 667 |
| 15 | 77×77 | 520 | 412 | 292 | 220 | 1,250 | 758 |
| 16 | 81×81 | 586 | 450 | 322 | 250 | 1,408 | 854 |
| 17 | 85×85 | 644 | 504 | 364 | 280 | 1,548 | 938 |
| 18 | 89×89 | 718 | 560 | 394 | 310 | 1,725 | 1,046 |
| 19 | 93×93 | 792 | 624 | 442 | 338 | 1,903 | 1,153 |
| 20 | 97×97 | 858 | 666 | 482 | 382 | 2,061 | 1,249 |
| 21 | 101×101 | 929 | 711 | 509 | 403 | 2,232 | 1,352 |
| 22 | 105×105 | 1,003 | 779 | 565 | 439 | 2,409 | 1,460 |
| 23 | 109×109 | 1,091 | 857 | 611 | 461 | 2,620 | 1,588 |
| 24 | 113×113 | 1,171 | 911 | 661 | 511 | 2,812 | 1,704 |
| 25 | 117×117 | 1,273 | 997 | 715 | 535 | 3,057 | 1,853 |
| 26 | 121×121 | 1,367 | 1,059 | 751 | 593 | 3,283 | 1,990 |
| 27 | 125×125 | 1,465 | 1,125 | 805 | 625 | 3,517 | 2,132 |
| 28 | 129×129 | 1,528 | 1,190 | 868 | 658 | 3,669 | 2,223 |
| 29 | 133×133 | 1,628 | 1,264 | 908 | 698 | 3,909 | 2,369 |
| 30 | 137×137 | 1,732 | 1,370 | 982 | 742 | 4,158 | 2,520 |
| 31 | 141×141 | 1,840 | 1,452 | 1,030 | 790 | 4,417 | 2,677 |
| 32 | 145×145 | 1,952 | 1,538 | 1,112 | 842 | 4,686 | 2,840 |
| 33 | 149×149 | 2,068 | 1,628 | 1,168 | 898 | 4,965 | 3,009 |
| 34 | 153×153 | 2,188 | 1,722 | 1,228 | 958 | 5,253 | 3,183 |
| 35 | 157×157 | 2,303 | 1,809 | 1,283 | 983 | 5,529 | 3,351 |
| 36 | 161×161 | 2,431 | 1,911 | 1,351 | 1,051 | 5,836 | 3,537 |
| 37 | 165×165 | 2,563 | 1,989 | 1,423 | 1,093 | 6,153 | 3,729 |
| 38 | 169×169 | 2,699 | 2,099 | 1,499 | 1,139 | 6,479 | 3,927 |
| 39 | 173×173 | 2,809 | 2,213 | 1,579 | 1,219 | 6,743 | 4,087 |
| 40 | 177×177 | 2,953 | 2,331 | 1,663 | 1,273 | 7,089 | 4,296 |
What real payloads need
Most everyday codes are small. Encoded as UTF-8 bytes:
| Payload | Length | Version at M |
|---|---|---|
https://qr.technology | 21 bytes | 2 (25×25) |
Wi-Fi: WIFI:T:WPA;S:CafeGuest;P:coffee-2026;; | 38 bytes | 3 (29×29) |
| A 46-character page URL | 46 bytes | 4 (33×33) |
| The same URL at level H | 46 bytes | 6 (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 generatorFrequently 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.