On labels of 40×20mm or smaller, a design that looks good on a monitor doesn't print as is. A label printer prints only black dots on a white background, and one dot on a 203dpi head is about 0.125mm, so thin strokes, light grays and text right against the edge disappear first. If you work out font size, edge margins and black-and-white contrast in dots beforehand, you'll have far less to fix after the first test print.
Font sizes converted to mm and dots
The text size field in GoodLabel Designer accepts 1–200 in pt. 1pt is 1/72 inch, about 0.353mm, and this size is the height of the box that holds a full set of characters, so actual capitals and digits print smaller than that.
| Text size | Box height | Dots at 203dpi | Dots at 300dpi |
|---|---|---|---|
| 5pt | 1.76mm | 14 | 21 |
| 6pt | 2.12mm | 17 | 25 |
| 8pt | 2.82mm | 23 | 33 |
| 10pt | 3.53mm | 28 | 42 |
| 12pt | 4.23mm | 34 | 50 |
In direct ZPL, TSPL and EZPL printing, the designer draws text of 6pt and below 3–4 times larger and then scales it down, and adds one more outline around text of 6pt and below at 203dpi, or 4pt and below at 300dpi, to reinforce the strokes. The reinforcement is 1% of the text size at 6pt and 1.5% at 5pt, which isn't enough to save the thin strokes of serif (Myeongjo-style) fonts. If you print several lines at 6pt or below at 203dpi, turn on Bold (Ctrl+B) and choose a sans-serif (Gothic-style) font; a comparison of Korean strokes by resolution continues in the choosing printer resolution article.
Minimum text heights set by regulations
For regulated labels such as food and logistics labels, the lower limit for text size is set in mm. All of these are based on the actual height of the printed characters, not the font's pt size.
| Standard | Minimum height | Applies to |
|---|---|---|
| EU food information regulation 1169/2011, Article 13 | Lowercase x-height 1.2mm; 0.9mm if the largest surface of the package is under 80cm² | Mandatory particulars on food sold in the EU |
| US 21 CFR 101.2(c) | Letters and numbers 1/16 inch (about 1.6mm) | Mandatory information on the principal display panel and information panel of US food packages (separate exemptions for small packages) |
| GS1 logistic label guideline | Human-readable text under the barcode 3mm | Logistic labels that include an SSCC |
An x-height of 1.2mm is not the same as a box height of 1.2mm (about 3.4pt). A lowercase x is drawn well below the height of the font box, so for labels that must meet a regulation, set the size generously, print one label, and measure the height of an x or a digit directly with a ruler.
Edge margins and print position tolerance
The print position tolerance of the Zebra ZT231 is ±1.0mm vertically on labels with gaps and ±1.0mm horizontally within one roll. Text and lines placed within 1mm of the edge can be cut off by this tolerance alone, so keep important text more than 1mm in from all four edges.
- On a 30×10mm label, leave 1.2mm clear on every side and lay out within the remaining 27.6×7.6mm. The designer's line height is 1.2 times the text size, so three lines at 6pt take 7.62mm, 0.02mm too much, while three lines at 5pt take 6.35mm and fit.
- If you draw a border exactly on the label outline, the ±1.0mm tolerance makes one side of the line disappear or spill onto the next label, so on labels of 40×20mm or smaller it's cleaner to leave out the outer border.
- If prints come out shifted to one side, move Vertical offset (−20 to 20mm) and Horizontal offset (−10 to 10mm) in Advanced settings of Printer settings in 0.1mm steps. The Left margin and Right margin (0–3.5mm) in the same area are for entering the edge width the printer can't print, not for moving the position; find the illustrated explanation of both under Advanced settings in the Printing chapter.
When you change the resolution in Printer settings or open a document with Open, the screen zoom changes, for example to 60% for a 300dpi document, so judge sizes with the rulers and grid, not by how things look on the monitor. Rulers and grid are turned on and off in Preferences, and both are on at first.
Black-and-white contrast: gray becomes black or white
Printing that the designer sends directly to ZPL, TSPL and EZPL printers turns the label into a 1-bit black-and-white image. Only dots with a brightness below 128 on a 0–255 scale print black; everything else becomes white, and no mid-gray survives.
| Color on screen (RGB) | Brightness (BT.601 weighted) | Result on the label |
|---|---|---|
| Black (0, 0, 0) | 0 | Black |
| Red (255, 0, 0) | 76 | Black |
| Mid-gray (128, 128, 128) | 128 | White (disappears) |
| Yellow (255, 255, 0) | 226 | White (disappears) |
This threshold changes the result in two places. One is images with Force monochrome when printing turned off: pictures with a gray background band or light-colored text disappear entirely or print black according to the 128 threshold in the table above. The other is the edges of thin strokes: parts of a stroke that don't cover even half of one dot (about 0.125mm at 203dpi) drop out to white, so the strokes of thin fonts at 5pt or below look broken.
- Objects added with Image in the tool panel start with forced monochrome on. Instead of a fixed value of 128, this conversion looks at each picture's brightness distribution and sets a new threshold (Otsu's method), splitting the darker side into black and the lighter side into white, and leaves transparent areas blank. For a picture with only two brightness levels, a white background and a gray band, the threshold falls between the two and the whole band prints black, so change the original to a logo with only black lines on a white background.
- Separate areas with lines or reverse printing (white text on black) instead of gray bands, and make lines at least 3.0pt (about 1.06mm), as the hint under the Thickness field in the shape properties says.
- For reversed text, first check with a test print of 1 label that the white strokes don't get swallowed by the black background; if they do, make the text 1–2pt larger.
See where the forced monochrome check box is in the Images chapter, and text width (0.7–1.3 times, in 0.1 steps), used to fit long item names in narrow spaces, illustrated in the Text chapter.

