Versions and Module Count
QR codes come in 40 versions, from Version 1 (21×21 modules) to Version 40 (177×177 modules). Higher versions can store more data but produce larger, more complex codes. Most practical applications use versions 1-10, which handle URLs and short text efficiently.
Maximum Data Capacity by Type
At the highest version (40) and lowest error correction (L): numeric data — up to 7,089 characters; alphanumeric — 4,296 characters; binary/byte — 2,953 bytes. With Level H error correction, capacities drop to about 30% of these maximums.
How Encoding Mode Affects Capacity
Numeric mode is most efficient — each digit takes only 10/3 bits. Alphanumeric mode supports 45 characters at 11/2 bits each. Byte mode supports any character as raw bytes — most flexible but least efficient. For maximum capacity, use numeric or alphanumeric mode when your content allows.
Practical Capacity Recommendations
URL QR codes: aim for URLs under 100 characters for comfortable small codes. Contact vCards: keep under 300 characters to avoid high-version complexity. If your content is approaching limits, shorten URLs or accept that you need a larger QR code.
Keep encoded data concise — shorter URLs produce simpler, smaller, more reliable QR codes. Know your version and capacity trade-offs when designing applications that generate QR codes programmatically.