QR Code Capacity Calculator
Enter your data to calculate the minimum QR code version needed, encoding mode, and capacity usage across all error correction levels.
characters
Version Requirements by EC Level
| EC Level | Recovery | Min Version | Modules | Capacity Used |
|---|---|---|---|---|
| Exceeds max |
|
Detected Encoding Mode
Encoding Modes
Version Range
How to Use This Tool
-
1
Enter your data and select encoding mode
Type or paste the data you intend to encode and choose the appropriate encoding mode: numeric, alphanumeric, byte, or Kanji.
-
2
Choose an error-correction level
Select one of the four error-correction levels (L, M, Q, or H) based on how much physical damage or obscuration the printed code may sustain.
-
3
Read the minimum version result
The calculator displays the lowest QR version (1–40) that can hold your data at the chosen error-correction level, along with the module grid size and remaining capacity.
Frequently Asked Questions
What are the four QR code encoding modes and when should I use each?
Numeric mode is most efficient for strings composed entirely of the digits 0–9, encoding up to 3.3 bits per character. Alphanumeric mode handles the 45-character set of digits, uppercase letters, and nine symbols (space, $, %, *, +, -, ., /, :), encoding 2.75 bits per character. Byte mode encodes any ISO 8859-1 or UTF-8 character at 8 bits each and is the default for URLs and mixed-case text. Kanji mode uses 13 bits per double-byte character and is optimised for Japanese text. Choosing the correct mode reduces the required version, producing a smaller, easier-to-scan code.
How do error-correction levels affect capacity?
Higher error-correction levels add more redundant Reed-Solomon codewords, which increases fault tolerance but reduces the data capacity available in any given version. Level L (low) uses roughly 7% of codewords for correction and offers the highest capacity; Level M uses 15%; Level Q uses 25%; and Level H uses 30%, leaving the smallest proportion for actual data. For codes that will be printed cleanly on paper and scanned in good lighting, Level M is a practical default. Level H is appropriate for industrial labels or codes overlaid with logos.
Why does the same text produce different version requirements?
Character set matters enormously. A 20-digit numeric string fits in Version 1 at Level M because numeric mode packs 3 characters per 10 bits. The same 20 characters in byte mode would require Version 2 or higher because each character costs 8 bits. Similarly, switching from Level M to Level H on a borderline payload may push the requirement up one or two versions. The capacity calculator accounts for the mode indicator bits, character count indicator bits, and terminator bits that precede the actual data, so the visible text length alone does not determine the version.
What is the maximum data a QR code can hold?
A Version 40 QR code at Level L can hold 7,089 numeric characters, 4,296 alphanumeric characters, 2,953 bytes, or 1,817 Kanji characters. These are the ISO/IEC 18004-defined maxima. In practice, very high-version QR codes (Version 30 and above) produce large, dense grids that are harder to scan reliably with low-end cameras and should be avoided when the payload can be reduced, for example by using a URL shortener rather than encoding a long web address directly.
Can a single QR code encode multiple data types simultaneously?
Yes, through structured append mode a logical message can be split across up to 16 separate QR code symbols, each scanned individually and reassembled in sequence. This is rarely used in consumer applications but appears in industrial workflows where label real estate is extremely limited. More commonly, byte mode handles mixed content by default: a URL containing uppercase letters, lowercase letters, digits, and symbols is simply encoded as a sequence of UTF-8 bytes, without switching modes mid-symbol.