QR Code Version
In QR code terms, "version" refers to the physical size of the grid, not a software release — versions run from 1 (21×21 modules) to 40 (177×177 modules), with each step up adding 4 modules per side and more data capacity.
A generator picks the version automatically based on how much content needs to be encoded and which error correction level is set — you never choose it manually. A short URL might only need version 3 or 4; a long vCard with several fields could push into the teens or higher.
Higher versions hold more data but produce a visually denser, more detailed pattern, which makes them harder to scan reliably at small print sizes — one more reason to keep encoded content (like URLs) as short as practical.
Each version step adds exactly 4 modules per side over the previous one — version 1 is 21×21, version 2 is 25×25, and so on up to version 40 at 177×177. The relationship isn't linear in terms of data capacity, though: because capacity scales with area, jumping from a low version to a mid version adds far more usable data than the same jump does at the high end, where a lot of the grid is already consumed by error-correction overhead.
In everyday use, nobody needs to think about version numbers directly — they matter mainly for understanding why some QR codes look noticeably "busier" than others. A code linking to a short URL like a homepage will render as a fairly sparse, low-version grid, while the same generator encoding a long vCard with a photo-sized data block, or a WiFi credential with a long password, can jump several versions higher and produce a visibly denser pattern at the same physical size.
This matters most for print: a higher-version code has smaller individual modules for a given print size (see the Module entry), so content that pushes the version up — long URLs, lengthy plain text, big vCards — needs a correspondingly larger printed size to stay reliably scannable at the intended viewing distance.