How Do QR Codes Store Data?
QR codes can store a variety of data types, including text, URLs, contact information, and even small images. The amount of data stored depends on several factors, such as the error correction level, QR code version, and type of data being encoded.
QR codes are widely used for storing information, but just how much data can they hold? In this blog post, we’ll explore the maximum data capacity of QR codes, the different types of data you can store, and how the structure of a QR code influences the amount of data it can store.
A QR code (Quick Response code) is a type of data matrix barcode that can store data in both horizontal and vertical directions. Unlike traditional barcodes, which can only store information in one dimension, QR codes use a combination of black and white modules to encode data. These modules represent binary information that can be quickly decoded by a scanner or smartphone.
QR Code Structure and Error Correction
QR codes use error correction to improve reliability, allowing the code to be scanned even if it’s partially damaged. There are four levels of error correction.
L (Low): Recovers up to 7% of the data
M (Medium): Recovers up to 15% of the data
Q (Quartile): Recovers up to 25% of the data
H (High): Recovers up to 30% of the data
Try scanning the QR code here
Even though it is broken, it still scans. This is the wonder of error correction.
The structure of a QR code includes position markers, timing patterns, and alignment patterns, which are necessary for accurate scanning. These elements take up space within the QR code, reducing the overall space available for data storage. The complexity of the stored data also affects the QR code size and the number of modules needed.
How Much Data Can a QR Code Store?
QR codes come in different versions, ranging from Version 1 to Version 40. Each version increases in size and data capacity, with more modules (squares) being added as the version number increases. Below are visual examples of different QR code versions (1 to 40). As the version number increases, the number of modules also increases, resulting in more data capacity but requiring a larger print size for effective scanning.
Here is how much content each QR code version can hold:
QR code version | Numbers only | Letters + numbers |
---|---|---|
1 | 41 | 25 |
10 | 531 | 318 |
20 | 1,461 | 894 |
30 | 2,321 | 1,419 |
40 (Maximum) | 7,089 | 4,296 |
Stay under version 5 for marketing purposes
To make your QR codes small and nice, use a dynamic QR code to shorten the contents.
Version 1 QR Code
This looks nice and clean, right? QR codes don’t need to be more complicated than this.
Whether you are on version 1-4 depends on if you use a QR code with a logo in the middle. Such elements can take up some of the space needed and make it more complex.
Version 1 contains 21 x 21 modules and is capable of storing a small amount of data.
Version 10 QR Code
If you are creating static QR codes as vCards then you can easily end up here. You want to avoid having such QR codes because they need to be printed fairly large and are difficult to scan.
Version 10 contains 57 x 57 modules, suitable for larger alphanumeric data, such as contact information, event details, or promotional codes when you must use static QR codes.
Version 40 QR Code
You definitely want to avoid a QR code like this.
Dynamic QR codes let you enter this much data and even more while staying visually at version 1-3.
The largest version 40 , with 177 x 177 modules, capable of storing large data sets such as vCards, lengthy URLs, or detailed product information when using static QR codes.
These numbers are maximum values under ideal conditions. The actual data capacity can decrease depending on the error correction level (L, M, Q, H), which helps recover data if the QR code is damaged. Higher error correction levels mean less data can be stored, but the code becomes more resilient to damage.
Which versions to use where
Smallest print
When your QR code will be printed quite small on product labels and such, then it is important to look at the contents size. You want to use the smallest version possible here. Try to stay under version 3.
Small print
Try to remain under version 5 with business cards and other similar items. When using a static QR code, you will have to print it larger and it can ruin the design of your business card by taking up too much space.
Medium print
Typically use Versions 1-5 for QR codes on flyers, as these versions provide enough data capacity for URLs and can be easily scanned from a distance.
Large print
You can use up to version 6 when printing QR codes on banners. However, we recommend to stay under version 5 at all times, as it will look more appealing to customers. Also, it will be easier to scan and you can make it smaller.
How QR Code Data Capacity Affects Size
The more data you store in a QR code, the larger and more complex it becomes. A QR code with a high data capacity will have more modules, making it denser and sometimes harder to scan. It’s essential to balance data size with scanability to ensure the QR code works effectively in real-world conditions.
Maximum QR Code Size Limits
While there is no official maximum QR code size, larger QR codes can be challenging to print and scan. Typically, a QR code with a significant amount of data should be at least 5 x 5 cm to ensure proper scanning. The size also depends on the scanning distance and the environment where the QR code will be used. Learn more about QR code sizes here.
Best Practices for Storing Data in QR Codes
Keep It Simple
The simpler the data, the easier it is for a QR code to be scanned. Using a short URL instead of a long one will improve the scannability of your code. Dynamic QR codes automatically help you shorten your codes.
Error Correction Level
For QR codes used in environments where damage is likely, choose a higher error correction level to ensure reliability. QR code generator tools like Pageloot do this automatically for you.
Test Before Printing
Always test your QR codes before mass printing to ensure they are easy to scan from different distances and angles. You can use your phone camera app or the QR code scanner tool.
The data capacity of a QR code depends on several factors, including the version, error correction level, and type of data stored. By understanding these factors, you can create effective QR codes that balance data storage with scannability. Whether you need a QR code for a simple URL or a more complex vCard, knowing the limitations and possibilities of QR codes can help you make the right choice for your needs.
Frequently Asked Questions
A QR code can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data, depending on the version and error correction level.
The QR code version, error correction level, and type of data (numeric, alphanumeric, binary) all affect how much data can be stored.
Higher error correction levels improve the durability of the QR code but reduce the maximum amount of data that can be stored.
There is no official maximum size, but larger QR codes can be harder to scan. For practical use, a QR code should be at least 3 x 3 cm (1.2 x 1.2 in) for effective scanning. Learn more about QR code sizes here.
Yes, QR codes can store small images directly by encoding them as binary data, but this reduces the overall data capacity for other types of information. It is better to use an image QR code for this purpose.
To maximize data storage, choose a higher QR code version and a lower error correction level. You can also use dynamic QR codes to reduce the amount of data encoded.
The size of a QR code depends on the scanning distance and data complexity. A good rule of thumb is a 1:10 ratio between the QR code size and the scanning distance.
Yes, extremely large QR codes can be impractical to print or scan. Ensure the size is appropriate for the intended use, balancing data capacity with scanability.
With high error correction (H), a QR code can store fewer characters compared to lower error correction levels, as more space is reserved for error recovery. For example, the maximum capacity may drop from 4,296 alphanumeric characters to around 2,000 characters.