QR (Quick Response) codes pack data into a two-dimensional pattern that can be read by cameras. Understanding their structure helps you use them effectively and troubleshoot scanning issues.
QR Code Structure
A QR code has distinct regions: finder patterns (the three large squares in corners) help scanners locate and orient the code. Timing patterns alternate black and white modules to help determine grid size. The data area contains the encoded information in a specific pattern.
Data Encoding Modes
QR codes support multiple encoding modes: Numeric (0-9) is most efficient, fitting 3 digits per 10 modules. Alphanumeric (A-Z, 0-9, some symbols) fits 2 characters per 11 modules. Byte mode handles UTF-8 text. Kanji mode is optimized for Japanese characters.
Error Correction Levels
QR codes use Reed-Solomon error correction with four levels: L (7% recovery), M (15%), Q (25%), H (30%). Higher levels allow more damage but reduce data capacity. A QR code with H-level can be read even with 30% of it obscured or damaged.
Versions and Capacity
QR codes range from Version 1 (21×21 modules) to Version 40 (177×177 modules). Version 1 holds about 25 alphanumeric characters; Version 40 holds over 4,000. Larger versions are harder to scan from distance but hold more data.