QR Code Structure and Technology – Everything You Need to Know
What Is a QR Code?
The QR code (Quick Response Code) was developed in 1994 by the Japanese company Denso Wave. Originally designed for the automotive industry, the QR code has evolved into a universal standard for digital information transfer.
Unlike traditional one-dimensional barcodes (such as the EAN code on product packaging), a QR code stores data in two dimensions – both horizontally and vertically. This allows it to hold significantly more information in a smaller space: up to 7,089 digits or 4,296 alphanumeric characters.
The name “Quick Response” refers to the rapid decoding speed: a QR code can be read in a fraction of a second by any smartphone camera – without a dedicated app.
Structure of a QR Code
Every QR code consists of several functional areas that work together to enable reliable detection and decoding:
Finder Patterns (Position Markers)
The three large squares in the corners – top-left, top-right, and bottom-left – are the most prominent elements. They allow the scanner to instantly detect and correctly orient the QR code from any angle and position.
Alignment Patterns
In larger QR code versions (from version 2 onwards), additional smaller squares are located within the data area. They help the scanner compensate for distortion – for example, when the code is printed on a curved surface.
Timing Patterns
Alternating black and white modules connect the finder patterns horizontally and vertically. They define the coordinate system and help the scanner determine the exact position of each module.
Format Information
Stored directly adjacent to the finder patterns, this area contains two key pieces of information: the error correction level being used and the applied mask pattern. This data is stored twice for additional redundancy.
Data Area
The largest portion of the QR code contains the actual encoded information – whether it is a URL, text, contact details, or Wi-Fi credentials. The data is arranged together with error correction bytes in an interleaved pattern.
Quiet Zone
A white margin of at least 4 modules wide surrounding the entire QR code. This zone is essential – without it, the scanner cannot cleanly separate the QR code from the background.
+-----------------------------------------------+ | Quiet Zone | | +---+-------------------+---+ | | | F | Timing Pattern | F | | | | i | | i | | | | n | | n | | | | d | Format Info | d | | | | e | | e | | | | r | | r | | | +---+ +---+ | | | Data Area | | | | Timing +---+ | | | | Pattern | A | Alignment | | | | +---+ | | | +---+-------------------------+ | | | F | | | | | i | Data Area | | | | n | | | | | d | | | | | e | | | | | r | | | | +---+-------------------------+ | | Quiet Zone | +-----------------------------------------------+ F = Finder Pattern A = Alignment Pattern
QR Code Versions (1–40)
The QR code standard defines 40 versions that differ in size. Each higher version adds 4 modules per side. The version is automatically selected based on the amount of data.
| Version | Modules | Max. Characters (L) | Max. Characters (H) |
|---|---|---|---|
| 1 | 21 × 21 | 25 | 10 |
| 5 | 37 × 37 | 106 | 46 |
| 10 | 57 × 57 | 271 | 119 |
| 20 | 97 × 97 | 858 | 382 |
| 40 | 177 × 177 | 4,296 | 1,852 |
L = Low (7% error correction), H = High (30% error correction). Values for alphanumeric data.
Error Correction (Reed-Solomon)
One of the most important features of the QR code is its built-in error correction based on the Reed-Solomon algorithm. Even if parts of the code are damaged or obscured, the content can still be fully reconstructed.
| Level | Recovery | Recommendation |
|---|---|---|
| L (Low) | ~7% | Maximum data capacity, protected environments |
| M (Medium) | ~15% | Standard for most applications |
| Q (Quartile) | ~25% | Industrial environments, outdoor use |
| H (High) | ~30% | Logo integration, heavy wear and tear |
If you want to embed a logo in your QR code, always choose Level H. This allows up to 30% of the code area to be covered without losing readability.
Data Types and Encoding
The QR code standard supports four encoding modes, each with different efficiency depending on the character set:
| Mode | Character Set | Bits per Character |
|---|---|---|
| Numeric | 0–9 | 3.3 |
| Alphanumeric | 0–9, A–Z, space, $ % * + - . / : | 5.5 |
| Byte | ISO 8859-1 (Latin-1) | 8 |
| Kanji | Shift JIS (Japanese characters) | 13 |
The encoding mode is automatically selected to use as little space as possible. A purely numeric string is therefore encoded much more compactly than text containing special characters.
Tips for Optimal QR Codes
- • Contrast: Always use dark modules on a light background. Scanners perform significantly worse with inverted contrast.
- • Minimum size: For print, a QR code should be at least 2 × 2 cm. Increase the size accordingly for greater reading distances.
- • Error correction H for logos: If you integrate a logo or image into the QR code, always use the highest error correction level (H = 30%).
- • Short URLs: The less data that needs to be encoded, the more robust and simpler the QR code becomes. Use URL shorteners for long addresses.
- • Always test: Scan every QR code before printing with at least two different scanner apps or devices.
- • Call to action: Place a short text next to the QR code such as “Scan now” or “Scan QR code for more info”.
Create Your Own QR Code Now
Free, creative and without tracking – right in your browser.
→ To the QR Code Generator