203, 300 or 600 dpi: which to pick when converting ZPL
Density is not a quality setting: it is a property of the file. Picking the wrong one moves everything on the label. How to find the right one in thirty seconds.
Density is not image quality
The first instinct is to read 600 dpi as "better" and 203 as "worse". It is not that. Density says how many dots fit in each millimetre of the label, and the ZPL file was written assuming one specific value.
Every position in the file (^FO, barcode heights, font sizes) is in dots. Converting at the wrong density does not make the label blurry: it puts everything in the wrong place.
The arithmetic
Converting between the two units is direct, and worth memorising: dots = millimetres × density.
| Density | Equals | A 101.6 × 152.4 mm label |
|---|---|---|
| 8 dots/mm | 203 dpi | 813 × 1220 dots |
| 12 dots/mm | 300 dpi | 1220 × 1829 dots |
| 24 dots/mm | 600 dpi | 2439 × 3658 dots |
The "203" comes from 8 × 25.4, the number of millimetres in an inch. That is why it is 203 and not 200: it is the same figure seen from another angle.
How to work out your file's density
Look for the largest ^FO value in the file: the furthest right or furthest down coordinate that appears.
^FO750,1150^A0N,25,25^FDFooter^FSIf the largest X is near 800 on a 4-inch wide label, the file is 203 dpi. Near 1200, it is 300 dpi. Near 2400, it is 600.
In practice: most shipping labels are 203 dpi, because that is the density of the common desktop label printers. Start there.
How the wrong choice looks
If you converted at 203 and the label came out crammed into the top-left corner, using a quarter of the space, the file was 300 or 600 dpi.
If you converted at 600 and content is missing (text cut off, half a barcode, or a blank page), the file was a lower density, and what was written to fit is now outside the printable area.
Either way the fix is the same: change the density and convert again. The file itself does not need editing.