QR Code Encoding Formats — UTF-8, Kanji, Numeric, and Binary Modes
Understand QR code data encoding modes: numeric, alphanumeric, byte, and Kanji. Learn how encoding affects capacity and size.
QR codes support four encoding modes, each optimized for different types of data. The mode determines how efficiently data is stored and how many characters you can fit into a single code. Understanding this helps you create smaller, more scannable QR codes.
The Four Encoding Modes
| Mode | Characters Supported | Bits per Character | Max Capacity |
|---|---|---|---|
| Numeric | 0-9 | 3.33 | 7,089 digits |
| Alphanumeric | 0-9, A-Z, space, $%*+-./: | 5.5 | 4,296 characters |
| Byte (UTF-8) | Any byte value (full Unicode) | 8 | 2,953 bytes |
| Kanji | Shift JIS double-byte characters | 13 | 1,817 characters |
How Mode Selection Works
The encoder scans your data and picks the most compact mode:
- "12345" → Numeric mode (most compact: 3.33 bits per digit)
- "HELLO WORLD" → Alphanumeric mode (only uppercase, limited symbols)
- "hello world" → Byte mode (lowercase forces byte mode)
- "https://example.com" → Byte mode (lowercase letters and special characters)
- Japanese text → Kanji mode (if using Shift JIS encoding)
Mixed-Mode Encoding
A single QR code can switch between modes mid-stream. For example, a code containing PRODUCT-001: $29.99 might use:
- Alphanumeric mode for
PRODUCT-001: $ - Numeric mode for
2999
Practical Capacity by Content Type
| Content | Typical Length | QR Version | Modules |
|---|---|---|---|
| Short URL | 30-50 chars | 3 (29x29) | 841 |
| Long URL with UTM | 80-150 chars | 6-8 (41-49x) | 1,681-2,401 |
| vCard (basic) | 150-300 chars | 7-10 (45-57x) | 2,025-3,249 |
| vCard (full) | 400-600 chars | 12-15 (65-77x) | 4,225-5,929 |
| WiFi credentials | 50-100 chars | 4-6 (33-41x) | 1,089-1,681 |
| Plain text paragraph | 200-500 chars | 8-13 (49-69x) | 2,401-4,761 |
ECI (Extended Channel Interpretation)
For non-Latin scripts beyond Kanji (Arabic, Cyrillic, Chinese, etc.), QR codes use ECI mode with a byte-mode payload. The ECI indicator tells the scanner which character encoding to use (UTF-8, ISO-8859-1, etc.).
Most modern scanners default to UTF-8 interpretation for byte-mode data, which handles virtually all languages correctly.
Version and Size
QR codes have 40 versions (1 through 40). Version 1 is 21x21 modules, and each subsequent version adds 4 modules per side. Version 40 is 177x177 modules — the maximum.
Higher data capacity means higher versions, which means more modules, which means larger codes for reliable scanning. The practical sweet spot is versions 2-10 for most use cases.
Does URL shortening help reduce QR code size?
Yes. A short URL like qrmax.io/r/abc encodes more compactly than yourwebsite.com/products/category/very-long-product-name?utm_source=brochure. Dynamic QR codes from QRMax use short redirect URLs by default.
Can QR codes store images or files?
Technically yes (as binary data in byte mode), but the capacity is too small for practical use. A QR code maxes out at about 3 KB of binary data — enough for a few sentences, not an image. Use a URL that links to the file instead.
Why does my QR code look so dense?
Dense codes mean lots of data. Shorten your content, switch to a dynamic QR code with a short redirect URL, or reduce the error correction level from H to M.
Related Articles
- QR Code Error Correction Explained — error correction impacts capacity
- Dynamic vs Static QR Codes — why dynamic codes are smaller
- QR Code vs Barcode — 1D vs 2D encoding differences