← Back to articles

How Much Data Can You Fit in a QR Code? Versions 1-40 Explained

July 7, 2026

What It Is: A One-Paragraph Answer

How much data fits in a QR code depends on three things: version, error correction level, and character type. Not one fixed number. A Version 1 code — the smallest, at 21x21 modules — holds as few as 25 alphanumeric characters at the strictest error correction. A Version 40 code, 177x177 modules and the largest the standard defines, can hold up to 7,089 numeric digits at the loosest correction setting. That's why one QR code looks small and simple while another looks dense and busy: they're built from different combinations of the same three variables, not the same thing just holding different amounts.

How It Actually Works: Versions, Modules, and Error Correction

A QR code's version sets its physical size in modules — the small squares that make up the grid. The formula: 4 x version number + 17 modules per side. Version 1 is 21x21. Version 10 is 57x57. Version 40 is 177x177. Each step up adds four modules per side, and more modules means more room for data.

Encoders don't jump to a high version just because they can. DENSO WAVE, the company that invented QR Code, shows this with a simple example: 100 numeric digits at error correction level M only needs Version 3, a 29x29 grid. That's why most everyday QR codes never get close to the top of the range. For scale, Version 1 versus Version 10 at Level L goes from 41 numeric digits to 652 — roughly 16 times more room for nine version steps, since capacity scales with grid area, not just side length.

QR codes also build in redundancy, so a scanner can still read them if part of the code is dirty or covered by a logo. There are four error correction levels: L recovers about 7% of damaged data, M about 15%, Q about 25%, H about 30%. Our guide on how error correction protects a damaged or logo-covered code covers the mechanics. The trade-off is simple: more error correction, less room for data, at the same version.

Where You'll See It: Character Types and Real Capacity

Not all characters cost the same to store. QR Code uses four encoding modes: numeric digits cost about 3.33 bits each, alphanumeric about 5.5 bits, byte/binary data 8 bits, and Kanji 13 bits. That's why the same version holds thousands of digits but far fewer plain-text characters.

Here's where the widely repeated "7,089 characters" figure needs a correction: that number applies only to Version 40 at Level L, numeric digits. Switch to Level H — the setting you'd actually want for a code that might get scratched or printed small — and Version 40's numeric capacity drops to 3,057. Less than half.

In practice, most QR codes never get anywhere near this ceiling. A URL, a Wi-Fi password, or a vCard typically runs 20-100 characters, comfortably inside Version 2-5. Version 40's near-7,000-character capacity only matters when you're encoding large blocks of text directly into the code, which is rare.

Tips, Gotchas, and Picking the Right Version with QRDock

Rule of thumb: a shorter payload plus higher error correction usually means a more reliable scan, especially for codes printed small or partially covered by a logo. One common gotcha — a long tracking URL loaded with query parameters can silently push a code into a much higher, denser version. Shortening the URL keeps things easier to scan. Our troubleshooting checklist covers other common scan failures.

You don't have to do this math by hand. Generating a code with QRDock automatically picks a sensible version and error correction level for what you're encoding.

Frequently Asked Questions

What's the maximum number of characters a QR code can hold?

At Version 40 with Level L error correction, up to 7,089 numeric digits, 4,296 alphanumeric characters, 2,953 bytes, or 1,817 Kanji characters. At Level H, the most damage-resistant setting, that numeric ceiling drops to 3,057 — more error correction always costs data capacity at the same size.

Why does a QR code get bigger and more complex-looking with more data?

Version controls the module grid — Version 1 is 21x21, and each step up adds 4 modules per side, up to Version 40 at 177x177. More data, or higher error correction for the same data, needs more modules, so the encoder picks a larger, denser version.

Does the type of data I'm encoding change how much fits?

Yes. Numeric digits cost about 3.33 bits each, alphanumeric about 5.5 bits, byte/binary data 8 bits, and Kanji 13 bits — which is why the same version holds thousands of digits but far fewer plain-text characters.

How much data does a typical QR code — like a URL — actually use?

Most everyday QR codes — a URL, a Wi-Fi password, a vCard — only need 20-100 characters, comfortably inside Version 2-5 at a safe error correction level. Version 40's near-7,000-character ceiling only matters for large blocks of text encoded directly into the code.

Conclusion

A QR code's capacity was never one number — it's version, error correction level, and character type working together. Version 1 can be as small as 25 characters; Version 40 can stretch to nearly 7,000, but only at the loosest correction and the cheapest character type. Everyday QR codes use a small fraction of that ceiling, so this is mostly good-to-know context, not a practical limit you'll bump into. For anyone encoding an unusually large payload, QRDock's generator handles the version and error-correction math automatically.