A QR code can hold up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data — the mode used for URLs and mixed text. In practice, almost no business application pushes anywhere near these limits. A typical URL is 30 to 60 characters. A vCard contact is 200 to 400 characters. Both fit comfortably in the smallest possible QR code.
Capacity by Encoding Mode
Numeric mode (digits 0–9 only): Maximum 7,089 characters. Used for numeric ID codes, inventory numbers, and tracking sequences where no letters are required.
Alphanumeric mode (letters, digits, 9 special characters): Maximum 4,296 characters. Used for short text strings and URLs that use only uppercase characters.
Binary mode (any byte data): Maximum 2,953 characters. Used for standard URLs with lowercase letters, mixed case, and special characters. This is the mode used for most QR code applications.
Why Capacity Matters for Code Size
More data means more modules, which means a larger printed code. A short URL produces a small, simple code. A long URL, a full vCard, or WiFi credentials with a long password produce larger, denser codes.
At very small print sizes — under one inch — a dense high-data code may not scan reliably because the modules are too small to resolve. The solution is either to shorten the URL (use a URL shortener) or to print the code larger.
The Practical Limit for Most Applications
The practical limit for a business QR code is not the technical maximum — it is the size at which the code must be printed to scan reliably at the expected scanning distance. A 200-character URL produces a code that must be printed 30 percent larger than a 50-character URL to scan from the same distance. Shorter URLs are better QR code practice regardless of the technical limits.
What More Data Cannot Add
Regardless of how much data a QR code encodes — whether it is 30 characters or 2,953 — the code is permanently silent. The scan retrieves the data. A URL opens. No voice. No message. No interaction beyond navigation.
A talking QR code encodes a short URL — well within any capacity limit — that opens a player page where an AI voice delivers whatever message the business needs to communicate. The capacity is irrelevant. The destination speaks.