# 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%.

Source: https://useqr.app/docs/reference/qr-code-capacity-table · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## 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%.

## Try it

- https://useqr.app/size-calculator
- https://useqr.app/validate
- https://useqr.app/url
