How Much Data Can a QR Code Hold?
QR codes can hold a lot more data than most people realise — and simultaneously much less than many people try to put in them. Understanding the capacity constraints of QR codes helps you make better decisions about what to encode, what format to use, and how to keep your codes as simple and scannable as possible.
By the Universal QR Generator Team
The four encoding modes and their capacities
QR codes support four data encoding modes, each optimised for a different type of content. The mode used for a given piece of data determines how many characters can fit in a code of a given version.
Numeric mode: encodes digits 0–9 only. Maximum capacity: 7,089 characters at the largest code size (version 40) with the lowest error correction level (L). Numeric mode is the most efficient because it packs three digits into ten bits of encoded data. Use it when the content is entirely numeric — a serial number, a product code consisting only of numbers.
Alphanumeric mode: encodes uppercase letters, digits 0–9, and a small set of symbols (space, $, %, *, +, -, ., /, :). Maximum capacity: 4,296 characters. Encodes two characters per eleven bits. URLs in uppercase would use this mode, but web URLs include lowercase letters which require binary mode.
Binary/byte mode: encodes any character that can be represented as a byte value, including lowercase letters, special characters, and the full range of characters in URLs. Maximum capacity: 2,953 characters. This is the mode used for most real-world QR code content, including URLs with lowercase text.
Kanji mode: encodes Japanese Kanji and Kana characters. Maximum capacity: 1,817 characters. This mode is specific to double-byte character sets used in Japanese text.
Why URL length matters
Most QR codes encode URLs. The length of a URL directly affects the version number of the QR code required to store it, which affects the code's physical density and minimum reliable print size.
A short URL like universalqrgenerator.com (24 characters) at error correction level M requires a version 2 QR code with 25×25 modules — a small, sparse, easily scannable code.
A medium URL like universalqrgenerator.com/blog/qr-codes-for-restaurant-menus.html (64 characters) requires a version 5 code with 37×37 modules.
A long URL with query parameters and tracking codes — universalqrgenerator.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=summer2026 (about 95 characters) — requires a version 6 code with 41×41 modules, which is noticeably denser.
The practical lesson: shorter URLs produce simpler, more scannable QR codes. Where possible, use URL shortening or a clean permanent URL rather than a long URL with extensive query strings.
How error correction affects capacity
There is a direct tradeoff between error correction level and data capacity at any given code version.
For the same version 4 code (33×33 modules): - Error correction L: can hold 78 binary characters - Error correction M: can hold 62 characters - Error correction Q: can hold 46 characters - Error correction H: can hold 34 characters
Choosing error correction H instead of L for the same URL can require three to five additional code versions to achieve the same data capacity, making the code denser and potentially requiring a larger physical size.
The practical implication: if your QR code will be used in controlled indoor conditions where damage is unlikely and no logo will be added, error correction level M is sufficient and keeps the code smaller. If you are adding a logo or deploying outdoors, use level H and accept the slightly denser code.
Real-world capacity limits by content type
Based on typical real-world content and error correction level M:
Short URLs (under 26 characters): version 2 code, 25×25 modules, very sparse and easily scannable.
Typical website URLs (30–80 characters): version 3–5 code, 29–37 modules, good scan reliability.
Full Wi-Fi credentials with long password (80–120 characters): version 5–7 code, 37–45 modules, still reliable.
vCard contact data (200–400 characters typical): version 10–15 code, 57–77 modules. At this size, minimum printed size increases — do not print smaller than 3 cm × 3 cm.
Email with body text (500+ characters): version 17+ code. These codes are complex and should be used only when alternatives are not available. Prefer a link to an email form over encoding the full email text.
How to reduce QR code complexity
Simpler codes are more reliable, print better at smaller sizes, and are more forgiving of print quality variations. Several techniques reduce complexity:
Shorten URLs: use a clean permanent URL path rather than a long URL with parameters. If tracking is needed, UTM parameters can be added to the destination URL via a server-side redirect while keeping the QR code's encoded URL short.
Use appropriate encoding: ensure your generator selects the most efficient encoding mode for your content. Numeric mode for pure numbers, alphanumeric for uppercase content.
Reduce error correction when safe: use level L or M for digital displays and controlled indoor environments, reserving level H for outdoor use and logo embedding.
Avoid unnecessary data: a QR code for your business website does not need to encode your full contact details, social profiles, and office address. Use the code for its primary purpose and let the destination page carry the rest.
Version, size, and the limits of very large codes
QR code version 40 — the largest defined by the standard — is 177×177 modules. At a minimum print size of 0.25 mm per module, this is a code approximately 44 mm × 44 mm minimum size. At standard print quality for reliable scanning, the minimum is larger.
Very large, dense QR codes (version 20 and above) have practical scanning problems: they require higher camera resolution to resolve each module, they are sensitive to print quality issues at smaller sizes, and they require the code to be printed at a physically larger minimum size.
For the vast majority of applications, staying below 100 characters of encoded data at error correction level M keeps the code at version 6 or lower — a code that is compact, reliable, and scannable from virtually any modern device in any reasonable condition.
Create a free QR code — no account needed
→ universalqrgenerator.com