Everything You Need To Know

How Much Data Can A QR Code Store? - Feb 2017

Standard QR Codes can hold up to 3Kb of data.

QR Codes are made of multiple rows and columns. The combination of these rows and columns makes a grid of modules (squares). There can be a maximum of 177 rows and 177 columns which means the maximum possible number of modules is 31,329. With the naked eye these are just small squares and mean very little, but the exact arrangement of those modules allows the QR Code to encode its data. This means that unlike traditional barcodes which are 1 dimensional and use 1 row of lines, QR Codes use 2 dimensions which allows them to store a lot more data in the same area of space.

The QR Code standards don't allow you to create a QR Code with just any combination of rows and columns. There are 40 preset sizes that you must select from. These are referred to as versions.

Version 1 QR Codes will have 21 rows and 21 columns. Each version thereafter increases by 4 rows and 4 columns. The largest version is version 40 which has 177 rows and 177 columns and results in the 31,329 needed to encode the 3kb of data.

When a QR Code is being created, the QR Code generator assesses the amount of data you are trying to encode and from that it determines the version number that it needs to use. These levels allow the generator to encode a QR Code as efficiently as possible and means not every QR Code is forced to have 31,329 modules.

If a QR Code contains a lot of data, then you will generally see that it looks "busier" to the naked eye (more modules and generally more tightly packed together). Here are some examples that show the difference in appearance for codes holding different volumes of data:

QR CodeQR CodeQR CodeQR Code

QR Code Structure In addition to storing the actual data a user wishes to save, the QR Code must also store other data that forms the framework of QR Codes. This includes positioning, timing, alignment and format data as well as error correction and version data. All of this data when combined ensures a QR Code can be read easily by a wide range of scanners.

Thankfully most of the QR Codes basic framework doesn't subtract from the volume of data it can store, except for Error Correction. Error Correction is available at multiple levels and the higher the level of error correction you apple, the less data you can save in the QR Code. We talk about error correction mode later in the technical series, or you can jump there now.

it's a misconception that adjusting the surface area of a code will allow you to include more data. This isn't true. Increasing the surface area of your code will never allow you to have more than 177 columns and 177 rows, it simply stretches the code making the modules bigger. Obviously if you try and make your code physically tiny, you may struggle to encode the maximum amount of data possible because the size of each module becomes so small your printer or screen may not have a high enough resolution to display it and the QR Code reader may not have a high enough resolution to read it.

There are also other less common types of QR Codes you should be aware of, like Micro QR Codes which are smaller and hold a lot less data, and iQR Codes which allow a lot more rows and columns, therefore more modules and ultimately more data. If you want to learn more about either of those go here


Keep Reading: 2. How Many Characters / Digits Can A QR Code Store?

Or Jump To:

You should also look over most FAQs and consider reading What's A QR Code?