Module
One square of a QR code — the smallest unit of the pattern.
A module is a single dark or light square in the QR grid. It is the atomic unit of the code, and almost every practical rule is expressed in modules rather than millimetres.
Why that matters for printing. Scan reliability depends on the physical size of a module, not the code. A 21×21-module version 1 code printed at 21mm has 1mm modules. A 57×57-module version 10 code printed at the same 21mm has 0.37mm modules — below what many phone cameras resolve at normal distance, and below what many printing processes reproduce cleanly.
Rule of thumb. Keep modules at or above roughly 0.5mm for general print, and 0.75mm or more for anything handled, outdoors or on an uneven surface. If a code is failing and the overall size looks generous, calculate the module size — the answer is usually there.
In practice
Two codes, both printed at 25mm. The first holds a 25-character short URL: version 2, 25×25 modules, so each module is 1.0mm. The second holds a 180-character URL with campaign parameters: version 9, 53×53 modules, so each module is 0.47mm.
Same physical size, same printer, same ink — and the second one will fail far more often, because 0.47mm is at the edge of what a phone camera resolves at arm's length and what many printing processes reproduce cleanly. Whenever a code "mysteriously" does not scan at a size that looks generous, calculate the module size first.
Questions
What module size should I aim for?
0.5mm as an absolute floor for clean indoor print, 0.75mm or more for anything handled, outdoors, or printed on an absorbent surface like uncoated card.
How do I calculate it?
Printed width divided by module count. A 40mm code at 33×33 modules gives 40 ÷ 33 = 1.2mm per module, which is comfortable.