The short answer
A QR code can hold up to 7,089 numeric digits, 4,296 alphanumeric characters, 2,953 bytes of binary data, or 1,817 kanji characters. Those are the maximums at the largest version (40, a 177×177 grid) with the lowest error-correction level (L). Real-world codes hold much less, because most people use smaller versions and higher error correction.
The character limit is not a single number. It depends on three things: the encoding mode (numeric, alphanumeric, byte, or kanji), the version (how big the grid is, from version 1 at 21×21 to version 40 at 177×177), and the error-correction level (L, M, Q, or H). Change any one and the capacity changes. Our what is a QR code guide covers the basics; this page breaks down the numbers.
The four encoding modes
QR codes pack data more tightly when the data is simpler. There are four encoding modes, and each uses a different number of bits per character, so the same grid holds more digits than letters and more letters than arbitrary bytes.
Numeric mode stores digits 0–9 using about 3.3 bits each (groups of three digits in 10 bits). Alphanumeric mode stores A–Z, 0–9, and the symbols space, $, %, *, +, -, ., /, : using 5.5 bits each. Byte mode stores any 8-bit value — including full UTF-8 text and URLs — at 8 bits per character. Kanji mode stores double-byte Japanese characters at 13 bits each. Choosing the tightest mode that still fits your data is the first lever for capacity; see our QR types guide for which mode each payload uses.
Version and capacity
The version is the grid size. Version 1 is 21×21 modules and each version adds four modules per side, up to version 40 at 177×177. A bigger grid simply has more modules to hold more bits, so capacity grows roughly with the number of modules.
That growth is not free: a denser, larger code is harder to scan at small print sizes and needs more quiet zone. This is the version-versus-capacity trade-off — you can always hold more by jumping to a bigger version, but the code becomes physically larger or finer and harder to read. Our QR code size guide explains how to balance module count against print size.
Error correction reduces capacity
Error correction adds Reed-Solomon redundancy so a code still scans when damaged or logo-covered, but every byte spent on redundancy is a byte not available for your data. The four levels trade capacity for resilience: L recovers ~7%, M ~15%, Q ~25%, and H ~30% — and the capacity at level H is noticeably smaller than at level L for the same version.
The headline maximums (7,089 digits, 2,953 bytes) are only reached at level L. At level H, the same version 40 grid holds about 2,953 bytes less. So the real character limit is whatever the chosen error-correction level leaves room for. Our QR error correction guide goes deeper on choosing L, M, Q, or H.
Capacity by mode at a glance
The table shows the maximum capacity of each encoding mode at the smallest version (V1, 21×21) and the largest (V40, 177×177), both at error-correction level L. Higher error-correction levels reduce these numbers; smaller versions sit between the two columns.
| Encoding mode | At V1 (21×21 modules) | At V40 (177×177 modules) |
|---|---|---|
| Numeric — digits 0–9 | 41 digits | 7,089 digits |
| Alphanumeric — A–Z, 0–9, symbols | 25 characters | 4,296 characters |
| Byte — 8-bit, text and URLs | 17 bytes | 2,953 bytes |
| Kanji — double-byte Japanese | 10 characters | 1,817 characters |
| Any combination — modes mixed | up to 17 bytes total | up to 2,953 bytes total |
Practical capacity guidance
In practice you rarely hit the maximum. A typical URL QR code uses byte mode and lands at version 3 or 4 — a few dozen characters. Long URLs push the version up fast, which is why short links are recommended: shrink the destination first, then encode the short URL so the code stays small and scannable.
If the content genuinely does not fit — a long vCard, a big block of text — consider a dynamic QR code, which encodes a short redirect and keeps the payload tiny while the real content lives elsewhere. Keep the static code readable with our QR best practices, and understand the trade-off in our static vs dynamic QR guide. For the full encode-to-scan pipeline behind these numbers, see how a QR code works.
Frequently asked questions
How many characters can a QR code hold?
At the maximum (version 40, error-correction level L) a QR code holds up to 7,089 numeric digits, 4,296 alphanumeric characters, 2,953 bytes, or 1,817 kanji. At higher error-correction levels or smaller versions the number is lower.
What is the maximum size of a QR code?
The largest standard QR code is version 40, a 177×177 module grid. With error-correction level L it stores 2,953 bytes; with level H it stores less because more space goes to redundancy.
Does error correction affect capacity?
Yes. Higher error-correction levels add more Reed-Solomon redundancy, leaving less room for data. Level L gives the most capacity, level H the least — but H tolerates the most damage.
How long can a URL in a QR code be?
A URL uses byte mode, so the practical limit is a few dozen characters before the version grows and the code becomes hard to scan small. Use a short link for long URLs, or a dynamic QR code that encodes a short redirect.