Launch

30% off your first month of Pro30% off month one$9.90 → $6.93

See plans
ZPL em PDF

Command · ^FD

^FD: the content that gets printed

^FD (Field Data) is where the actual content lives. Everything else on the label is instruction — where to draw, at what size, in which font — and ^FD is the only part carrying what a person will read: the recipient's name, the address, the digits inside the barcode.

Checked on September 1, 2026

Everything up to ^FS is content

^FD takes no parameters: whatever follows it is the data, until an ^FS turns up. That includes spaces, commas and full stops — nothing in there is read as an argument.

This rule is what explains the most common mistake in the whole language. If the ^FS is forgotten, the next command is not read as a command: it becomes more text belonging to the previous field. Three address fields with no ^FS between them print as one long line, with the commands themselves printed in the middle of it.

  • ^FD…^FS — the required pair. ^FD opens the content, ^FS closes the field.
  • ^FV — the variant whose content is cleared after printing, used in stored templates.
  • ^FH — allows hexadecimal bytes inside ^FD, escaped with an underscore.
  • In a barcode, ^FD carries the payload rather than visible text.

Accents and ^CI28

^FD takes accented characters fine, as long as the printer knows how to interpret the bytes. That is what ^CI28 is for, placed straight after ^XA: it says the data arrives as UTF-8.

Without it, “Café” arrives as “Café” — the two bytes of é read as two separate characters. If the system generating the file cannot emit UTF-8, the route out is ^FH with escaped bytes: ^FH^FDCaf_C3_A9 prints “Café”.

Characters that cannot go in raw

The caret and the tilde are ZPL's control characters, so an ^FD containing one mid-text ends the field there and the rest becomes a command. An address with a literal “~” needs ^FH, or the control character swapped with ^CC and ^CT.

Worth knowing too that the ^FX comment ends at the next caret — writing a command name inside a comment creates a real command, which is the same trap arriving from the other side.

Edit an ^FD and watch the text change on the label

Drag the file in, paste the code, or pick it from your device

.txt · .zpl · .prn · .zip · .pdf · .png · .jpg — 30 labels a day

The conversion happens in your browser: your file never leaves your device.How that works
Free, no signupNo uploadNo watermarkBatches of many filesPDF · PNG · ZIP

Questions

Frequently asked questions

What does ^FD mean in ZPL?

^FD stands for Field Data and carries the field's content: the text to be printed, or the barcode's data. Everything between ^FD and ^FS is content, spaces included.

Why did my label print all run together on one line?

An ^FS is missing after one of the ^FD commands. Without it the next command is read as a continuation of the content, and the fields merge into one run of text — with the commands themselves showing up printed in the middle.

How do I print accented characters in ^FD?

Add ^CI28 straight after ^XA to select UTF-8. If the system cannot emit UTF-8, use ^FH and write the bytes as hexadecimal escaped with underscores, like ^FH^FDCaf_C3_A9.

Can I use ^ or ~ inside the text?

Not directly: both are control characters and end the field there. Use ^FH with the byte escaped, or swap the control character with ^CC and ^CT before the field.

Other guides