Codabar is a 1960s-era barcode still widely used in three niches: blood-bank ID, library cards (Library of Congress and many US public libraries), and FedEx air-waybill labels.
It encodes digits 0–9 and the symbols - $ : / . +, plus four letter pairs (A/B/C/D) that act as start and stop characters.
Generated by JavaScript in your browser. Nothing is uploaded; nothing is stored on our servers.
At a glance
| Specification | ANSI/AIM BC3-1995 (USS Codabar) — no ISO standard |
|---|---|
| Also known as | NW-7 (Japan) · Monarch · Code 2 of 7 · USD-4 |
| Character set | Digits 0–9 and the symbols - $ : / . + |
| Start/stop characters | A, B, C, or D — framing characters, not data |
| Check digit | None in the base spec; some applications add modulo-16 |
| Structure | Discrete, self-checking |
| Year introduced | 1972 (Pitney Bowes / Monarch Marking Systems) |
“Codabar is a discrete, self-checking symbology with sixteen data characters — the digits 0 through 9 and six symbols — framed by four start/stop characters A to D.”
Format rules
Every Codabar string must start and end with one of A, B, C, or D — these are not data but framing characters. The data between them is digits and the allowed symbols.
The start and stop characters may be different (e.g. start A, end B) and some applications use them to encode metadata about the barcode type.
When you actually need Codabar
Use Codabar only when your system specifically requires it — typically library systems, blood-bank ID, FedEx labels, or photofinishing. For any new application without a specific requirement, choose Code 128 instead.
Frequently asked questions
- Why must I start with A, B, C, or D?
- Those are required start/stop framing characters in the Codabar spec. The scanner uses them to detect the beginning and end of the code.
- Does Codabar have a check digit?
- Not in the basic spec. Some implementations add a modulo-16 check; ours does not.