Plain English

Reads bytes from an RFID tag memory bank and **routes the result to one of two destinations**: (1) **into a numbered field on the same label** — the read value is captured into field number `f`, and any later `^FN<f>^FS` placeholder in the format substitutes that read value into a printable field (so the printed label can show what was just read); (2) **back to the host** over the serial / network connection — used by host-driven verification flows that need to log encoded values, build serial→tag mappings, or fail jobs on mismatch. The destination depends on the printer's host-status mode and whether the format contains a matching `^FN<f>` reference. Comparable to `^RFR,…` (the read variant of `^RF`) but `^RT` predates the consolidated `^RF` syntax and remains common in legacy templates.

When to use

For **read-back-after-write verification labels** (write a serial via `^RF`, then `^RT` it back into a `^FN` placeholder so the printed barcode shows the actual encoded value — proves the encode succeeded). Also for **read-only audits** (tag-survey workflows pulling EPCs out of an inbound roll, host-driven inventory). Always preceded by `^RS` (RFID Setup — see #83) so the encoder protocol matches the inlay. Cross-reference `^FN`/`^FD` for placeholder substitution and `^RF` for the modern read/write command.

Syntax

^RTf,b,n,r,m,p

Parameters

ParameterDescription
fField number (1–9999) that receives the read value; pair with `^FN<f>^FS` later in the format to print it
bStarting byte offset within the chosen memory bank (default 0)
nNumber of bytes to read; for hex format the field receives `2 × n` characters
rPer-read retry count before declaring a failure
mMemory bank — letter form: `E` EPC, `T` TID (read-only chip serial), `U` USER, `R` RESERVED
pPassword offset within the RESERVED bank, when accessing protected banks (default 0)

Example

^XA
^RS8
^RT1,0,8,3,E,0
^FO50,50^FN1^FS
^XZ

After `^RS8` (Gen2 setup), read 8 bytes from the EPC bank starting at offset 0 (`m=E`, `b=0`, `n=8`), with 3 retries on failure. The value lands in field 1; the `^FN1^FS` placeholder later in the format prints those 8 bytes (16 hex characters) on the label as a verification text — operator can scan-compare the printed value against what the optical barcode encodes.

Try it in the playground View all ZPL commands