Plain English

The square barcode you see everywhere — on menus, posters, and websites. QR codes encode URLs, text, contact info, or any data. The Zebra `^BQ` requires a **mode prefix in the `^FD` payload** — typically `LA,` (alphanumeric), `QA,` (mixed/automatic), or `LB,` (binary). Without a prefix, the printer firmware decides what to do — often producing a different (or invalid) barcode.

When to use

When end users will scan with a phone, when you need to encode a URL, or when data exceeds what fits in a 1D barcode. Always start `^FD` with a 2-letter mode prefix followed by a comma.

Syntax

^BQo,model,magnification,errorCorrection,maskValue

Parameters

ParameterDescription
oRotation: N, R, I, B
model1 (original) or 2 (enhanced — recommended)
magnificationSize multiplier: 1-10 (each unit adds dots per module)
errorCorrectionH (high, 30%), Q (quartile, 25%), M (medium, 15% — default), L (low, 7%)
maskValueMask pattern 0-7 (default 7 — the printer auto-picks). Rarely needs tuning.

Example

^XA
^FO50,50^BQN,2,6,M,7^FDQA,https://rfid.me^FS
^XZ

`QA,` selects mixed/auto mode for the URL payload. Other prefixes: `LA,` (alphanumeric), `LB,` (binary), `LH,` (Kanji). Without a mode prefix, the firmware behaviour is undefined.

Try it in the playground View all ZPL commands