Plain English

An older but very common barcode format. Standard Code 39 supports uppercase letters, digits, and a small symbol set (`- . $ / + % SPACE`). With the `e` parameter set to `Y`, **Extended Code 39** uses two-character sequences to encode the full ASCII set including lowercase and control characters — at the cost of doubling the symbol width per encoded character.

When to use

When compatibility is more important than space — defence/military (LOGMARS), automotive, healthcare. Use standard mode (`e=N`) for fixed-format part numbers; switch to extended (`e=Y`) only when the payload genuinely needs lowercase or special chars, since extended mode roughly doubles the barcode length.

Syntax

^B3o,e,h,f,g

Parameters

ParameterDescription
oRotation: N, R, I, B
eExtended Code 39 / Mod-43 check digit: `Y` enables Extended Code 39 (two-char sequences encode full ASCII including lowercase, ~, _, etc.); `N` keeps standard 43-character set
hBar height in dots
fShow human-readable text: Y or N
gText above barcode: Y or N

Example

^XA
^FO50,50^BY2^B3N,N,80,Y,N^FDPART-A1234^FS
^FO50,180^BY2^B3N,Y,80,Y,N^FDmixed Case +ext^FS
^XZ

First barcode is standard Code 39 (uppercase only). Second uses `e=Y` for extended encoding so lowercase and `+ext` chars survive — about 2× the width.

Try it in the playground View all ZPL commands