A QR code can hold a surprising amount of information — but the maximum is not the same as what you should put in one. The more data you add, the denser the pattern becomes, and dense codes are harder to scan, especially when printed small.
This guide explains the real capacity limits from the QR code standard (ISO/IEC 18004), what changes them, and how much space common things like links, WiFi details and phone numbers actually use.
The short answer
The largest standard QR code (version 40, a grid of 177 × 177 squares) at the lowest error correction level (L) can hold up to:
| Type of data | Maximum characters |
|---|---|
| Numbers only (0–9) | 7,089 |
| Alphanumeric (0–9, A–Z uppercase, space and $ % * + - . / :) | 4,296 |
| Bytes (any text, including lowercase and symbols) | 2,953 |
| Kanji (Japanese characters) | 1,817 |
Those are absolute ceilings. In everyday use, most QR codes hold well under 100 characters, and that is a good thing.
Why the type of data matters
QR codes store data in different modes, and each mode packs characters differently:
- Numeric mode stores digits very efficiently, so you get the most characters.
- Alphanumeric mode supports only 45 characters: digits, uppercase letters, the space and a few symbols. Lowercase letters are not included.
- Byte mode handles any text, including lowercase letters, punctuation and characters from other languages. Most links and messages end up here.
- Kanji mode is a special mode for Japanese characters.
Because a typical web address contains lowercase letters, it is usually stored in byte mode. So for practical purposes, 2,953 bytes is the number most people care about.
Note that bytes are not always the same as characters. Plain English letters and digits take one byte each in UTF-8, but accented letters such as "é" take two, and emoji usually take four. A message with accents or emoji uses up capacity faster than its character count suggests.
Make a free QR code for a link, WiFi or contact card — generated in your browser.
Open the free QR code generator →How error correction reduces capacity
Every QR code includes extra error correction data, so it can still be read if part of it is dirty, damaged or covered by a logo. There are four levels:
| Level | Approximate damage it can recover from | Max bytes in version 40 |
|---|---|---|
| L (Low) | about 7% | 2,953 |
| M (Medium) | about 15% | 2,331 |
| Q (Quartile) | about 25% | 1,663 |
| H (High) | about 30% | 1,273 |
Higher levels trade capacity for toughness. At level H, the largest code holds well under half the data it could at level L. For more on choosing a level, see QR code error correction levels.
QR Studio uses level M by default and switches to H automatically when you add a logo, so the code can survive the covered center. That is one reason a code with a logo looks denser than the same link without one — see can a QR code have a logo?.
How QR code versions affect capacity
QR codes come in 40 sizes called versions. Version 1 is a grid of 21 × 21 squares (called modules), and every version after that adds 4 modules per side, up to 177 × 177 for version 40. A generator normally picks the smallest version that fits your data.
Here is how many bytes fit in a few versions, by error correction level:
| Version | Grid size | L | M | Q | H |
|---|---|---|---|---|---|
| 1 | 21 × 21 | 17 | 14 | 11 | 7 |
| 2 | 25 × 25 | 32 | 26 | 20 | 14 |
| 3 | 29 × 29 | 53 | 42 | 32 | 24 |
| 4 | 33 × 33 | 78 | 62 | 46 | 34 |
| 5 | 37 × 37 | 106 | 84 | 60 | 44 |
| 10 | 57 × 57 | 271 | 213 | 151 | 119 |
| 20 | 97 × 97 | 858 | 666 | 482 | 382 |
| 40 | 177 × 177 | 2,953 | 2,331 | 1,663 | 1,273 |
Notice how quickly the grid grows. A version 10 code has more than seven times as many modules as a version 1 code. If both are printed at the same physical size, each square in the version 10 code is much smaller, which makes it harder for a phone camera to read.