How to Choose the Right ZPL Font for Your Label

October 20, 2026 · 4 min read · By ZPLFONTS.com

fontsguide

Choosing a font in ZPL looks like a five-second decision. You type ^A0N,30,30, the text shows up, and you move on. Then three weeks later somebody complains that the small print on the shipping label is unreadable, or the new printer produces text that’s a different size, or an accent has turned into a box. Most of those problems trace back to the font choice, or more accurately, to not having thought about it.

Here’s a practical way to decide, based on what the label has to do.

Start with what the text is for

Before you pick a font, ask who’s going to read the text and how. A person reading a product name from arm’s length is a different case from a scanner reading a part number, and different again from a worker squinting at a lot code on a tiny label.

For human-readable text of ordinary size, you want something clean and moderately bold. For machine-read text, you want shapes that can’t be confused. For small print, you want a font that holds together at few dots. Those three needs point to three different fonts, which is why labels often use more than one.

Font 0 is the sensible default

Font 0 is the scalable built-in font, and it’s where most people should begin. You can set any height and width, it looks smooth at most sizes, and every ZPL printer has it. If you’re not sure, use it, and change only when you can name a reason.

^XA
^FO40,40^A0N,36,36^FDGood default choice^FS
^XZ

Its main weakness is very small sizes. Below roughly 18 dots at 203 DPI, thin strokes start to disappear and letters look ragged. That’s the cue to look at a bitmap font.

When bitmap fonts win

Bitmap fonts (A to H) are drawn from fixed dot patterns. At their native size they’re crisp and fast. Font A, at nine dots tall on a 203 DPI printer, stays legible at a size where a scaled font would turn mushy. If you’ve got a date code or a legal line that has to fit into a few millimetres, font A or B is hard to beat.

OCR fonts E and H are the other special case. They exist because some systems read text with a scanner rather than a person, and the characters are shaped to be unambiguous. If a customer’s specification says “OCR-B” or “OCR-A”, that’s what these are for.

The catch with all bitmap fonts is that they only scale in whole multiples. You can’t ask for 25 dots and get 25. You’ll get the nearest valid multiple, and the jump between sizes can be large. Our built-in font list gives the base sizes, and the size calculator shows what each font will really print.

When to download a font

Downloading a TrueType font is the right call when you need something the built-in fonts can’t deliver: a brand typeface, a wider range of characters or a language beyond Western Europe. It gives you scalable text in the design you want.

It also adds responsibilities. The font file has to be on every printer, it has to be stored in flash so it survives a power-off, and you need the right to use it in a device. If that sounds like too much for the benefit, it probably is. Read how to install a TrueType font on a Zebra printer before you commit.

When the answer is “none of the above”

Sometimes the best font is no font. Text in a complex script, a logo-like heading, or a few fixed strings in several languages can all be rendered ahead of time and sent as a graphic. The printer doesn’t need to know anything about fonts or shaping, and the result is exactly what you designed. The text-to-graphic tool does the conversion in your browser, and our article on printing any font as a graphic explains the trade-offs.

A quick way to decide

If the label needs… Reach for
Ordinary text at mixed sizes Font 0
The smallest legible text Font A or B
OCR-readable text Font E or H
Accents or symbols Font 0 with the right character set, or a Unicode TTF
A brand typeface A downloaded TTF stored on E:
A complex script A graphic

Test before you commit

Whatever you pick, print a sample at the real size on the real printer and media. A preview is useful for layout, and you can try one in the live preview, but it can’t show how thin strokes behave on rough paper. If the result looks off, our page on text cut off or wrong size covers the common causes.

The short version: start with font 0, use A or B when space is tight, use E or H only when asked, download a font when you truly need to, and fall back on graphics for the hard cases. That covers nearly every label you’ll meet.

All articles