ZPL Fonts — Zebra Label Fonts Explained
Every piece of text on a ZPL label is drawn with a font chosen by the ^A or ^CF command. ZPL printers ship with bitmap fonts A–H and a scalable outline font, 0 (zero). This guide covers each font, the ^A and ^CF commands, and gives live examples you can edit and render below.
Font example
Label preview
Built-in ZPL fonts
Bitmap fonts (A–H) have a fixed base cell and scale only in whole-number multiples. Font 0 is a scalable outline font (CG Triumvirate Bold Condensed) that renders cleanly at any size — it is the default and the right choice for most labels.
| Font | Type | Base size (H×W dots) | Notes |
|---|---|---|---|
A | Bitmap | 9 × 5 | Smallest built-in font. |
B | Bitmap | 11 × 7 | Uppercase only. |
C, D | Bitmap | 18 × 10 | General-purpose. |
E | Bitmap (OCR-B) | 28 × 15 | Machine-readable OCR-B. |
F | Bitmap | 26 × 13 | — |
G | Bitmap | 60 × 40 | Largest bitmap font. |
H | Bitmap (OCR-A) | 21 × 13 | Machine-readable OCR-A. |
0 | Scalable outline | any size | Default font; use for arbitrary sizes. |
The ^A command (font for one field)
Syntax: ^A f o , h , w — f font (A–H or 0), o orientation (N normal, R 90°, I 180°, B 270°), h height in dots, w width in dots.
^XA ^FO50,50^A0N,50,50^FDScalable font 0^FS ^FO50,120^ADN,36,20^FDBitmap font A^FS ^FO50,180^A0R,40,40^FDRotated 90 degrees^FS ^XZ
The ^CF command (default font)
Syntax: ^CF f , h , w. It sets the default font and size for every following field that has no ^A of its own — handy at the top of a label so you don't repeat the font on each line.
^XA ^CF0,30 ^FO50,50^FDFirst line^FS ^FO50,90^FDSecond line, same font^FS ^FO50,140^A0N,60,60^FDThis line overrides with ^A^FS ^XZ
Related ZPL tools
What Is ZPL?
Zebra Programming Language explained: syntax, essential commands, and a minimal label example.
ZPL Viewer
Paste or upload ZPL and preview the rendered label online in real time.
ZPL to PDF
Convert Zebra ZPL labels to PDF or PNG and download them in one click.
ZPL Barcode Commands
Code 128, QR, Data Matrix and more — the ^BC, ^BQ, ^BX and ^BY commands.
Frequently Asked Questions
What fonts are built into ZPL?
ZPL printers include bitmap fonts A through H and the scalable outline font 0 (zero). Fonts E and H are OCR fonts (OCR-B and OCR-A). Font 0 is the default and is the one to use when you need any arbitrary size.
What is the ^A command in ZPL?
The ^A command sets the font and character size for a single field. The syntax is ^A f o , h , w — font (A–H or 0), orientation (N, R, I, B), height in dots, and width in dots. Example: ^A0N,50,40 prints in font 0 at 50×40 dots, normal orientation.
What is the difference between ^A and ^CF?
^A applies to the one field that follows it. ^CF (Change Font) sets the default font and size for every field afterwards that does not specify its own ^A. Use ^CF once at the top to avoid repeating the font on every line.
How do I make ZPL text bigger?
Use font 0 and increase the height/width in the ^A command, e.g. ^A0N,80,80. Bitmap fonts (A–H) only scale in whole-number multiples of their base size, so for smooth sizing use the scalable font 0.
Can I use my own (custom) font in ZPL?
Yes. TrueType fonts can be downloaded to the printer and referenced by name, but that is an advanced workflow. For most labels the built-in font 0 covers all sizes and is universally supported.
How do I rotate ZPL text?
Set the orientation letter in ^A: N = normal, R = rotated 90°, I = inverted 180°, B = bottom-up 270°. Example: ^A0R,40,40 prints the field rotated 90°.