Surface guide
QR codes on product labels
Label QR codes are typically 1.5–3 cm and printed by thermal transfer at 203 or 300 dpi. The critical number is dots-per-module: aim for at least 4, which means checking your printer resolution before choosing the code size.
| Typical scan distance | 15–30 cm |
|---|---|
| Minimum code width | 1.5–3 cm |
| Error correction | Q |
Dots per module is the number that matters
Thermal printers are low resolution. Work out how many printer dots each module gets:
| Printer | Dot size | Modules at 4 dots | 33 modules needs |
|---|---|---|---|
| 203 dpi | 0.125 mm | 0.50 mm | 16.5 mm |
| 300 dpi | 0.085 mm | 0.34 mm | 11.2 mm |
| 600 dpi | 0.042 mm | 0.17 mm | 5.6 mm |
Below 4 dots per module, rounding shifts module boundaries and scan rates fall off a cliff.
Use the printer's native QR command
Zebra (ZPL ^BQ), Datamax and TSC all generate the code in firmware, at exact dot
boundaries. Sending a raster image instead re-samples the pattern and introduces exactly the
rounding errors you are trying to avoid.
^XA
^FO50,50^BQN,2,6^FDMA,https://example.com/p/1042^FS
^XZ
Direct thermal versus thermal transfer
Direct thermal fades with heat, light and friction — fine for a shipping label that lives a week, wrong for a product label expected to last a year. Thermal transfer with a resin ribbon on polyester survives chemicals, abrasion and freezer temperatures.