Reference tables
QR code data capacity table
The maximum a QR code can hold is 7,089 digits, 4,296 uppercase alphanumeric characters, 2,953 bytes or 1,817 kanji — all at version 40, error-correction level L. Raising to level H cuts each figure by roughly 57%.
Absolute maxima, version 40
| Mode | Level L | Level M | Level Q | Level H |
|---|---|---|---|---|
| Numeric | 7,089 | 5,596 | 3,993 | 3,057 |
| Alphanumeric | 4,296 | 3,391 | 2,420 | 1,852 |
| Byte (UTF-8) | 2,953 | 2,331 | 1,663 | 1,273 |
| Kanji (Shift-JIS) | 1,817 | 1,435 | 1,024 | 784 |
Bits per character by mode
| Mode | Bits | Character set |
|---|---|---|
| Numeric | 3.33 | 0-9 |
| Alphanumeric | 5.5 | 0-9, A-Z, space, $ % * + - . / : |
| Byte | 8 | anything (UTF-8 in practice) |
| Kanji | 13 | Shift-JIS double-byte |
Alphanumeric mode does not include lowercase letters, ?, =, &, #, _ or ~. A
single lowercase character or query separator forces the whole segment into byte mode.
The practical ceiling is much lower
A version-40 code is 177 modules across. For a phone camera at arm's length each module wants roughly 0.5 mm, giving a 9 cm square. Most applications should stay under about 300 bytes.
Typical payload sizes:
| Payload | Bytes | Version at EC M | Modules |
|---|---|---|---|
| Short URL | 20 | 2 | 25 |
| URL with a path | 45 | 3 | 29 |
| URL with full UTM tags | 120 | 6 | 41 |
| WiFi credentials | 50 | 3 | 29 |
| MeCard | 95 | 5 | 37 |
| vCard | 350 | 12 | 65 |
| UPI with note and reference | 110 | 6 | 41 |
| PIX BR Code | 140 | 7 | 45 |
The cheapest capacity win
Switch modes. A URL written entirely in uppercase encodes in alphanumeric mode at 5.5 bits
per character instead of 8 — roughly 45% more efficient. Schemes and hostnames are
case-insensitive so HTTPS://EXAMPLE.COM is safe; paths usually are not, so only
uppercase the scheme and host unless you know your server is case-insensitive.
FAQ
What is the maximum amount of data in a QR code?
7,089 digits, 4,296 uppercase alphanumeric characters, 2,953 bytes, or 1,817 kanji characters — all at version 40 with error-correction level L.
How many characters should a QR code actually hold?
Under about 300 bytes for anything scanned casually. The theoretical maximum produces a 177-module code needing roughly 9 cm of print to be readable.
Why does uppercase text fit better in a QR code?
Uppercase letters, digits and a few symbols use alphanumeric mode at 5.5 bits per character; anything else uses byte mode at 8 bits.
How much capacity does error correction cost?
Level H holds roughly 43% of what level L holds for the same version. Level M, the usual default, holds about 79%.