The printed size of a QR code is the product of two numbers. The number of modules (black cells) on one side is set by the length of the data and the error correction level, and the mm of one module is set by Module size in the Properties panel of GoodLabel Designer. Add a blank quiet zone of 4 modules on every side, and you get the area the code takes up on the label.

Versions and module counts

QR codes range from version 1 (21×21 modules) to version 40 (177×177 modules), and each version step adds 4 modules to each side. The encoder picks the smallest version the data fits into, so even at the same module size, the code grows when the URL gets longer or error correction goes up.

VersionModules per sideNumeric only (L / M / Q / H)Bytes with lowercase letters and symbols (L / M / Q / H)
12141 / 34 / 27 / 1717 / 14 / 11 / 7
22577 / 63 / 48 / 3432 / 26 / 20 / 14
329127 / 101 / 77 / 5853 / 42 / 32 / 24
433187 / 149 / 111 / 8278 / 62 / 46 / 34
537255 / 202 / 144 / 106106 / 84 / 60 / 44
745370 / 293 / 207 / 154154 / 122 / 86 / 64

Digits only, such as a 13-digit product number, fit in version 1 even at level H. A 30-character address starting with https, on the other hand, needs version 2 at L, version 3 at M and version 4 at H. The table shows limits using byte mode only. If an address contains a long run of digits, the encoder may pack that stretch in numeric mode, and the code can come out one version smaller than the table.

Error correction level and code area

The designer's Error correction level list has four levels: L (7% recovery), M (15% recovery), Q (25% recovery) and H (30% recovery). A QR Code added from the quick picks under Barcode in the tool panel starts at M with a module size of 0.5mm; if you change the type of a barcode already on the label to QR Code in the Properties panel, the module size is set to 1mm.

By the selection guide of DENSO WAVE, which created QR, Q or H suits factories where codes get dirty, and L suits codes with a lot of data in clean places. The higher the level, the more area it costs, so compare by printing a 60-byte address with 0.5mm modules.

Error correctionVersion neededCode sideSide including 4-module quiet zone
L (7%)416.5mm20.5mm
M (15%)416.5mm20.5mm
Q (25%)518.5mm22.5mm
H (30%)722.5mm26.5mm

At 60 bytes, L and M are the same size, so there's no reason not to choose M. Going up to H adds 6mm to each side, leaving only 3.5mm in total above and below on a 30mm-tall label. At a workbench where codes get scratched or splashed, go up to Q, and if the area still falls short, shorten the address you encode first.

If you lay a logo image over the center of a QR code, the covered modules have to be made up for by the error correction margin. If you plan to add a logo, set H, do a test print with the logo in place, and finalize only when both phones and the scanners on site can read it.

Module size and printer dots

Module size in the Properties panel moves in 0.1mm steps with the slider and the − and + buttons, and is set between 0.1 and 5mm. A label printer prints in dots, so check how many dots the mm you chose comes to. Dividing 25.4mm by the dpi gives one dot of about 0.125mm at 203dpi and about 0.085mm at 300dpi.

Module size enteredDots at 203dpiDots at 300dpi
0.3mm2.403.54
0.4mm3.204.72
0.5mm4.005.91
0.6mm4.807.09
1.0mm7.9911.81

When the dot count is far from a whole number, as with 0.3mm at 203dpi (2.40 dots), modules print with a mix of 2- and 3-dot widths and the cells come out uneven. At 203dpi, 0.5mm (4.00 dots) and 1.0mm (7.99 dots) are close to whole numbers; at 300dpi, 0.5mm (5.91 dots) and 0.6mm (7.09 dots) are close. DENSO WAVE's printing example also sets one module to 4 dots (0.254mm) at 400dpi.

On a small label, working out the side length including the quiet zone settles the layout quickly. A version 3 QR at 0.5mm on a 50×30mm label is 18.5mm including the quiet zone, so put the QR on the right and write the item name and number in the roughly 30mm width on the left.

The 4-module quiet zone and label layout

  1. Leave a 4-module-wide blank on all four sides of the QR. The QR object's box on the canvas and the printed image don't include this quiet zone, so with 0.5mm modules, leave a separate 2mm outside each side of the box and keep text, lines and the label edge out of it.
  2. Roll labels shift a little up and down in print position, so don't put the 4-module quiet zone right against the label edge; leave one more cell of space inward.
  3. When adding human-readable text under the QR, put it in a separate text object outside the quiet zone.
  4. The QR size changes depending on where you change the resolution. If you change the printer resolution in the Printer settings panel, the QR module size is reset to the new resolution's minimum of 2 dots (0.25mm at 203dpi, about 0.17mm at 300dpi) and the code shrinks; if you change the resolution in the printer setup window (the Printer button in the ribbon), the module mm you entered stays. Either way, check the module size again after the change and print one label.

Error correction fields for other 2D codes

Micro QR Code has a 2-module quiet zone, so it fits on small parts labels, but even the largest, M4, holds only up to 35 digits at level L and 30 digits at level M. In the designer, Micro QR error correction has three levels, L, M and Q, and the default is L. For PDF417 you choose auto or level 0–8 (default 2), and Data Matrix has no error correction field and is built with the method set by its specification.

The full settings screens for QR and barcode objects are in the Barcodes chapter of the user guide. The minimum module a scanner on site can read varies by scanner, so check the limits for 2D scanners on the Zebra DS2278 or Techscan TSK-1952B page.