QR code · 40 (177×177)
QR code capacity
Maximum payload by mode and error-correction level, and why UTF-8 text uses more space than digits.
Key facts
| Largest version | 40 (177×177) |
|---|---|
| Numeric maximum | 7089 digits at L |
| Alphanumeric maximum | 4296 characters at L |
| Byte maximum | 2953 bytes at L |
| Kanji maximum | 1817 characters at L |
| Byte maximum at H | 1273 bytes |
| Modes | Numeric, alphanumeric, byte, kanji, ECI |
Mode matters more than length
Numeric mode packs digits at about 3.3 bits each. Alphanumeric mode covers uppercase letters, digits and a few symbols at 5.5 bits. Byte mode is 8 bits per byte, and kanji mode uses 13-bit Shift-JIS codes. A string of digits is therefore far cheaper than the same number of letters, and non-Latin text encoded as UTF-8 becomes several bytes per character.
Capacity is a ceiling, not a target
Error correction, headers and the mode indicator consume space before payload. At level H, version 40 holds 1273 bytes instead of 2953. For printed codes, staying well below the ceiling keeps modules large and scanning reliable. A two-line URL is a better design than a 500-character blob.
Frequently asked questions
How much text fits in a QR code?
At the largest version and level L, about 2953 bytes, roughly 2950 ASCII characters. Real-world codes usually stay under a few hundred characters.
Why does my URL produce a dense code?
URLs are byte mode, and long query strings multiply quickly. Shorten the URL, remove tracking parameters or use a redirect path.
Do emoji count as one character?
No. Emoji are multi-byte UTF-8 sequences and can take four bytes each; the encoder's byte capacity drops accordingly.