ZPL Font Size Calculator
Convert millimetres, inches or points into printer dots for 203, 300 and 600 DPI, and see the nearest valid bitmap font sizes.
Ready-to-use ZPL
Nearest bitmap font sizes
Fonts A to H only print at whole multiples (1x to 10x) of their base cell. This table shows the closest valid size to your target.
| Font | Base H x W | Multiple | Prints at (H x W) | Off target by | ZPL |
|---|
Base cells are the 203 DPI values scaled to the selected resolution as an approximation. Print a test label to confirm the exact size on your printer.
Reference formulas
- dots = mm x DPI / 25.4
- dots = inches x DPI
- dots = points x DPI / 72
- Capital height is roughly 0.72 of the font 0 cell height (varies by font).
See also: font sizes by DPI, built-in fonts.
How to use the calculator
Pick your printer's resolution, type a size, and choose the unit you're thinking in. Most people start from millimetres because that's how a designer or a customer describes text: "the product name should be about 4 mm tall". The calculator converts that to dots, which is what ZPL actually wants, and shows the result in the other units as well so you can sanity-check it. It also writes a short piece of ZPL you can copy straight into a label.
If you don't know your printer's resolution, print a configuration label first. The command is ^XA^HH^XZ, and the resolution is listed on it. Guessing is how people end up with labels that are two-thirds the intended size. Our page on font sizes by DPI explains why this happens, and the article on 203 versus 300 DPI printers walks through a full example.
Cell height or capital height?
The height in a ^A command is the height of the character cell, which includes some space above and below the letters. Capital letters are shorter than the cell. If a spec says "capital letters 3 mm tall", choose the capital-height option and the calculator divides by an estimated ratio of about 0.72. It is an estimate, because the exact proportion depends on the font. Print a test, measure it with a ruler, and adjust the number by a few dots if you need to be precise.
Why the bitmap table looks the way it does
The lower table is there because bitmap fonts A to H can't be any size you like. They come in whole multiples of a base cell, so the printer rounds whatever you ask for. The table shows the closest valid size for each font and how far off it is from your target, so you can decide whether it's close enough or whether you'd be better off with font 0, which has no such limit. You'll find the base dimensions explained in the built-in font list.
The base cells are the 203 DPI values scaled to your chosen resolution. That's an approximation, since the manufacturer's tables for other resolutions aren't simple multiples, so treat the numbers for 300 and 600 DPI as a guide and confirm with a test label.
Some worked examples
Say you need 3 mm text on a 203 DPI printer. Three millimetres is about 24 dots, so ^A0N,24,24 is your starting point. On a 300 DPI printer the same 3 mm is about 35 dots. If instead the spec is a 10 pt font, which is a typographer's measure, the calculator turns points into dots using 72 points per inch: about 28 dots at 203 DPI and 42 at 300.
For a larger heading, say 12 mm on a 600 DPI printer, you'd be looking at about 283 dots. That's well inside what font 0 can do, and well outside what any bitmap font can match without a big multiplier.
Common mistakes the calculator helps you avoid
The first is designing at one resolution and printing at another. The second is typing a bitmap size that isn't a valid multiple, and then wondering why the printer ignores it. The third is forgetting that everything in ZPL is in dots, including line thickness, box sizes and barcode widths. If you resize text, think about whether the rest of the label needs to change too. For barcodes in particular, see our notes in fonts for barcode text.
Questions
Is the result exact? It's exact arithmetic, rounded to whole dots, because a printer can't print half a dot. Real output also depends on media and print settings.
Can I use it for positions as well as sizes? Yes. Positions are also dots, so convert margins and offsets the same way.
What if the text is cut off after I resize? Check the print width and the starting position. The text cut off or wrong size page lists the usual causes.
What next? Put your numbers into the label generator and see the result in the live preview.
Last reviewed 2026-10-20