zpl.tools
RFID

^WT - Write RFID Tag

Encodes data onto a tag.

^WT encodes the current tag from the field's ^FD. Like ^RT it is legacy: the guide keeps it only for formats written for older Zebra RFID printers, and current firmware expects ^RF with the W operation. The renderer neither encodes nor prints its payload. It consumes the field and reports a diagnostic.

Syntax

^WTb,r,m,w,f,v

Support

Recognised, deliberately skippedparsed: none · state: none · rendered: none

Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.

Encodes the transponder, which is not part of the printed image. The parser consumes the tag payload ^FD and draws nothing for it, so no tag data reaches the label. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also silent, so the rendered label is identical in both engines. On current printers ^RF with the W operation replaces it. — not pinned by a test

Labelary renders this command.

Parameters

bBlock numberoptional · integer

Which block to encode. Tag-dependent: most tags use block 0, and on EPC Class 0 Plus block 0 is EPC data and block 1 user data.

Default
0
Accepted range
0 to the tag's block count
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No test at the minimum, maximum or one step outside the range.
rNumber of retriesoptional · integer

How many times the printer retries the operation on a single tag before it stops.

Default
0
Accepted range
0 to 10
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No test at the minimum, maximum or one step outside the range.
mMotionoptional · one of a set

Whether the media feeds once the operation completes.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
Feed the label after the operation. (default)
1
No feed. Other commands in the format can still cause one.
wWrite protectoptional · one of a set

Whether the byte is write-protected once encoded.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
Not write protected. (default)
1
Write protected.
fData formatoptional · one of a set

How the printer interprets the tag data.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
ASCII. (default)
1
Hexadecimal.
vVerify or reverseoptional · one of a set

Another parameter the guide gives two meanings. On the R110Xi HF it reverses byte order. On every other supported printer it verifies that the tag holds the manufacturer test data (hex A5A5) before it writes, the same check as ^WV.

Default
N
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (N, Y).
N
Do not verify, or do not reverse. (default)
Y
Verify, or reverse.

Behavior

No length checking protects the payload. The guide states plainly that data longer than the tag's memory is truncated, so check the capacity of the tag before a long payload. Block numbering is tag-dependent. Most tags take block 0, and EPC Class 0 Plus splits EPC data into block 0 and user data into block 1.

The last parameter is two settings in one position: byte order on the R110Xi HF, and the A5A5 write-verify check of ^WV on every other supported printer.

The renderer consumes the field data, so the guide's own ^WT,5^FDRFIDRFID^FS draws nothing. Until 2026-07-30 it drew RFIDRFID on the label in the default font A at approximately 3 pt.

Tested behavior

Differences from the specification

Example

The guide's example, with a caption:

^XA
^FO50,50^A0N,40,40^FDCarton 1^FS
^WT,5^FDRFIDRFID^FS
^XZ

Open in viewer