ZPLToolkit

^B1

Code 11 Bar CodePreview: partial

A numeric-only symbology built for telecommunications equipment labels, where it is still the house standard.

Syntax

^B1o,e,h,f,g

Parameters

ParameterDescription and accepted valuesIf omitted
oRotation of the bar code on the label.N normal, R 90°, I 180°, B 270°Last ^FW value, else N
eAdds the check digit the symbology defines. Off by default.Y or N — add a check digitN
hBar height in dots. Overrides the height set by ^BY for this field only.1 to 32000 dotsHeight set by ^BY
fPrints the data underneath the bars as text.Y or N — print the human-readable lineY
gMoves that text above the bars instead.Y or N — put that line above the barsN

How it works

^B1 prints Code 11, sometimes called USD-8. It encodes the ten digits and the dash, and nothing else — no letters, no spaces. That narrow character set is the whole point: it buys density on labels that only ever carry a serial number.

Code 11 was designed for telecommunications equipment and survives there. Outside that world it is rare, and a scanner has to be configured for it before it will read one at all, because its bar pattern can be mistaken for other wide/narrow symbologies.

The `e` parameter adds check digits. Code 11 uses one for data up to ten characters and two beyond that, and the printer appends them to the bars without showing them in the human-readable line unless you ask.

Example

ZPL
^XA
^BY2,3,80
^FO60,60^B1N,N,80,Y,N^FD1234567890^FS
^XZ

Rendering…

A ten-digit Code 11 at a module width of 2 dots, with the human-readable line below.
Open in the viewer

How the preview on this site handles it

Drawn with a real Code 11 encoder, so it scans, and rotation is applied. Two approximations: the wide-to-narrow ratio from ^BY is not — the preview always uses 3:1 — and the check digit from `e` is not added to the bars, so a symbol with it enabled scans one character shorter here than it will on the printer.

Common mistakes

  • Sending anything but digits and the dash. Code 11 has no other characters, and the field will not encode.
  • Assuming the scanner will read it. Code 11 is off by default in most scanner firmware; it has to be enabled before the label is worth printing.
  • Reaching for it out of habit. If the data is numeric and the reader is a general-purpose scanner, ^BC (Code 128) is denser and universally readable.

See also