QR Code Capacity Calculator
Max characters per QR version and error level.
What it does
QR codes pack different amounts depending on version, error correction, and character mode. Digits compress best, the alphanumeric set costs more, and raw bytes cost most, so the same text can fit or fail on mode choice alone.
The tool above takes version 1 to 40 with error level L, M, Q, or H. It returns the three maxima side by side: digits, alphanumeric characters, and bytes.
The defaults show version 1 at level L: 41 digits, 25 alphanumeric, 17 bytes. At the far end, version 40 at level H holds 3,057 digits, 1,852 alphanumeric, or 1,273 bytes.
Capacities follow ISO/IEC 18004 as published by the QR inventor tables: modules grow 4 per side per version with Reed Solomon correction behind the levels. The standard lists the symbol; the inventor pages print the per version counts used here.
How to use
- Pick the QR version, or start at 1.
- Pick error correction for the setting.
- Read the mode matching your text.
- Count UTF-8 bytes, not letters, for byte mode.
- Raise the version when text overflows.
- Lower correction only when printing stays clean.
Formula
- version
- Size step 1 to 40; 21x21 up to 177x177 modules.
- L/M/Q/H
- About 7/15/25/30 percent damage recovery.
- modes
- Numeric digits, alphanumeric set, or 8-bit bytes.
Capacity is table lookup, not arithmetic: each version and level pair has fixed counts per mode in the standard. Byte mode counts 8-bit units, so multibyte characters spend several bytes each.
Worked example
Example: version 1, level L
Defaults: version 1, error correction L.
- Modules: 21 + 4 x 0 = 21 by 21.
- Numeric: 41 digits max.
- Alphanumeric: 25 characters max.
- Bytes: 17 max.
- Contrast: version 40-H gives 3057, 1852, 1273.
- Tool shows 41 digits, 25 characters, 17 bytes.
Reference table
| Version | Level L | Level H |
|---|---|---|
| 1 (21x21) | 17 | 7 |
| 10 (57x57) | 271 | 119 |
| 20 (97x97) | 858 | 382 |
| 40 (177x177) | 2953 | 1273 |
Limits
- Table counts exclude quiet zone and printing.
- Scanners and contrast decide real reads.
- Kanji mode has its own separate counts.
- Structured append splits change the math.
Common mistakes
- Counting letters where bytes belong.
- Picking H for clean indoor labels.
- Forgetting version caps at 40.
- Printing too small for the module count.
- Skipping a scuff test on rough sites.
Try it yourself
Quick checks. Answers sit tucked under each question.
Version 40 at level H?
3,057 digits, 1,852 alphanumeric, 1,273 bytes.
Version 10 at level M?
513 digits, 311 alphanumeric, 213 bytes.
Text too long for the version?
Raise the version or drop correction one step.
Questions
How much fits in a QR code?
Version 1-L holds 17 bytes; version 40-L holds 2953 bytes.
Which mode holds most?
Numeric digits, then alphanumeric, then bytes.
What do L M Q H mean?
Roughly 7, 15, 25, 30 percent damage recovery, dearer levels hold less.
How big is version 40?
177 by 177 modules before quiet zone.
Do links fit easily?
Most URLs fit small versions; long tracking strings need bigger ones.
Why did my code fail to scan?
Size, contrast, damage, or exceeding capacity; check all four.