^BI - Industrial 2 of 5 Bar Code
Numeric symbology that encodes data in the bars only, with spaces used purely as separators.
^BI prints an Industrial 2 of 5 symbol, the oldest member of the 2 of 5 family.
All of the information sits in the bars, and the spaces only separate them. The
symbol is therefore approximately twice as wide as ^B2 Interleaved 2 of 5 for
the same digits.
Use ^BI only where a reader or a standard requires it. For new work ^B2 is
denser, and ^BC Code 128 is denser again.
Syntax
^BIo,h,f,gSupport
Every documented parameter renders the same output Labelary produces.
Labelary renders this command.
Parameters
oBar code orientationoptional · one of a setRotation of the symbol and interpretation line.
- Default
- the orientation set by
^FW, which itself defaults toN - Invalid value
- discarded, and the default applies. The renderer reports an unrecognized character as invalid, and uses the default.
- Test coverage
- Values exercised: N, R, I, B. The invalid-value rule is not pinned by a test.
N- No rotation (default)
R- Rotated 90° clockwise
I- Rotated 180°. The symbol reads upside down
B- Rotated 270° clockwise
hBar code heightoptional · dotsHeight of the bars, without the interpretation line.
- Default
- the height set by
^BY, which itself defaults to 10 dots - Accepted range
- 1 to 32000 dots
- Invalid value
- clamped to the nearest allowed value. We measured this against live Labelary on 2026-07-12. The renderer clamps an out-of-range value to the violated bound, and does not ignore it.
- Test coverage
- Bounds pinned: minimum (1), below the minimum (0), above the maximum (40000). No test at the maximum. The invalid-value rule is not pinned by a test.
fPrint interpretation lineoptional · Y or NWhether the renderer prints the interpretation line.
- Default
- Y
- Invalid value
- discarded, and the default applies. The renderer reports any character except
YorN, and uses the default. - Test coverage
- Values exercised: Y, N. The invalid-value rule is not pinned by a test.
Y- Print the text (default)
N- Print the symbol only
gInterpretation line aboveoptional · Y or NWhere the interpretation line sits. It has no effect without that line.
- Default
- N
- Invalid value
- discarded, and the default applies. The renderer reports any character except
YorN, and uses the default. - Test coverage
- Values exercised: Y, N. The invalid-value rule is not pinned by a test.
Y- Above the symbol
N- Below the symbol (default)
Behavior
The character set is the digits 0 to 9. The code is discrete and
self-checking, and each character stands alone with a narrow space after it. It
therefore has no check-digit argument and no length rule, and any number of digits
encodes up to the space on the label.
Industrial 2 of 5 has two element widths, and the wide bar is three times the
narrow bar. The ^BY ratio applies over the guide's range of 2.0:1 to 3.0:1.
The interpretation line shows the digits as supplied, and the renderer adds no
start, stop or check characters. The width of the label limits the field data, or
its length for a rotated symbol.
^BI is one of the ten mnemonics whose two prefixes have unrelated meanings.
~BI is not Industrial 2 of 5. It is a Labelary extension that draws a
background image.
Known issues
Tested behavior
Differences from the specification
zpl.tools against the ZPL II guide
Where our renderer behaves differently from the specification.
- The guide takes the default orientation from
^FW. The renderer applies^FWto text fields only. A barcode after^FWRprints unrotated unless its ownoargument rotates it. — not pinned by a test
Example
Six digits at a 3-dot module width, with the interpretation line below the symbol:
^XA
^FO50,50^BY3
^BIN,80,Y,N
^FD123456^FS
^XZ
Related commands
^BYBar Code Field DefaultSets the module width, wide-to-narrow ratio and height that every later bar code inherits.^FDField DataSupplies the text or barcode content of the field.^FOField OriginSets the top-left corner of the next field.^FTField TypesetPositions the next field by its text baseline rather than its top edge.^B2Interleaved 2 of 5 Bar CodeDense numeric symbology that encodes digits in pairs. The payload must have an even length.^BJStandard 2 of 5 Bar CodeNumeric symbology with wide spaces between characters, the least dense of the 2 of 5 family.