Each QR Code symbol version has a max data capacity according to the amount of data, character type and error correction level. In other words, as the amount of data increases, more modules are needed to make up the QR code. Let’s say for example you have a rather long web link or you want to include multiple fields in a contact form. This is what makes larger QR Code symbols.
The symbol versions of QR Code range from Version 1 to Version 40. Each version has a different module configuration or number of modules. The module refers to the black and white dots that make up QR Code.
“Module configuration” refers to the number of modules contained in a symbol, commencing with Version 1 up to Version 40. Version 1 is 21 x 21 modules and Version 40 is 177 x 177 modules. As you can see in the image below each higher version number comprises 4 additional modules per side.
QR Codes have error correction capability to restore data if the code is dirty or damaged. Four error correction levels are available. Raising this level improves error correction capability but also increases the amount of data QR Code size. The bigger the QR code, the better chance it has of being read properly without error.
To select error correction level, various factors such as the operating environment and QR Code size need to be considered.
Level Q or H may be selected for factory environment where QR Codes get dirty, whereas Level L may be selected for clean environment with the large amount of data. Typically, Level M (15%) is most frequently selected.
From a graphic design perspective Level Q or H are great to work with. One can remove parts of the code, implement an image, icon, or design and still get full functional readability. On thing to keep in mind while doing this is that most people don’t have a fancy smartphone and may be using an older less effective camera-phone when scanning your code. You want to make sure that the code will work with all smart phones.
You can color a QR code as long as you use dark enough colors that maintain good contrast for the camera to recognize. You can also use the black areas as a mask over a photograph. Indeed you can be very creative with QR and not have the boring robotic look of generic QR codes.
Another thing to keep in mind while designing is to leave the white border around the code. This border allows the camera to zero-out and know what areas to read and decode. A general rule-of-thumb is to maintain a 4:1 scale of white border to the smallest module, or pixel, within your QR code.