Technical Info About QR Codes
A deeper look at how QR codes work — versions, error correction, data capacity, and encoding. Useful for developers, designers, and anyone who wants to understand the technology behind QR codes.
QR Code Versions (1–40)
A QR code version determines its size — the number of modules (dots) in each row and column. Version 1 has 21×21 modules, and each subsequent version adds 4 modules per side.
| Version | Size (modules) | Max bytes (L) | Max bytes (H) |
|---|---|---|---|
| 1 | 21 × 21 | 17 | 7 |
| 2 | 25 × 25 | 32 | 14 |
| 5 | 37 × 37 | 106 | 46 |
| 10 | 57 × 57 | 271 | 119 |
| 20 | 97 × 97 | 858 | 382 |
| 30 | 137 × 137 | 1 732 | 784 |
| 40 | 177 × 177 | 2 953 | 1 273 |
QR Studio automatically selects the smallest version that fits your data — no manual configuration needed.
Error Correction Levels
QR codes use Reed-Solomon error correction, which allows the code to be read even when partially damaged or obscured (for example by a logo).
| Level | Recovery capacity | Best for |
|---|---|---|
| L (Low) | ~7 % of data | Maximum data capacity, digital use |
| M (Medium) | ~15 % of data | Default — good balance of size and resilience |
| Q (Quartile) | ~25 % of data | Environments with potential damage (outdoor, industry) |
| H (High) | ~30 % of data | QR codes with logo — auto-selected by QR Studio |
Data Capacity
The maximum amount of data depends on the version, error correction level, and encoding mode:
| Mode | Max characters (Version 40, ECL L) | Example |
|---|---|---|
| Numeric | 7 089 | 0–9 |
| Alphanumeric | 4 296 | 0–9, A–Z, $%*+-./: |
| Binary (UTF-8) | 2 953 | Any character, including diacritics |
Export Formats Compared
QR Studio supports three export formats. Each is optimized for a different use case:
| Format | Type | Best for | Scalable |
|---|---|---|---|
| PNG | Raster | Web, social media, email | No (pixel-based) |
| SVG | Vector | Print, large format, unlimited scaling | Yes |
| Vector (print-ready) | Professional print, prepress | Yes |
Encoding Details
QR codes store data in binary form. The encoder analyzes the input and automatically selects the most efficient mode:
- Purely numeric data → Numeric mode (3.3 bits per character)Čistě číselná data → Numerický režim (3,3 bitu na znak)
- Uppercase + digits + special chars → Alphanumeric mode (5.5 bits per character)Velká písmena + čísla + speciální znaky → Alfanumerický režim (5,5 bitu na znak)
- Anything else → Binary / UTF-8 mode (8 bits per character)Ostatní → Binární / UTF-8 režim (8 bitů na znak)
QR Studio uses UTF-8 encoding by default, which supports all scripts including Czech diacritics, Cyrillic, Chinese, Arabic, and emoji.
Try it in practiceVyzkoušejte to v praxi
Create a QR code and see how version and error correction level are selected automatically.
Open Generator →