Linear symbology
Codabar
Codabar is a self-checking numeric symbology from 1972 that is still in daily use in blood banks and libraries, kept alive by the cost of replacing the systems built around it. Each symbol is wrapped in a start and stop character chosen from A, B, C or D.
Specification
These are the values the editor enforces while you design, not figures collected from elsewhere — the same numbers its quiet-zone and resolution checks run on.
| Property | Value | In context |
|---|---|---|
| Minimum X-dimension | 0.191 mm | 0.0075 in · 8 thou |
| Quiet zone | 10 modules | 1.91 mm at the minimum X-dimension |
| Dimensionality | Linear (1D) | Read by laser or imager |
Codabar at 203, 300 and 600 dpi
A printer can only place whole dots, and 0.191 mm is not a whole number of them at any of these resolutions. What changes is how much a single dot of rounding costs you as a share of the narrow bar.
| Resolution | Narrow bar in dots | Printed as | Rounding error |
|---|---|---|---|
| 203 dpi | 1.53 | 2 dots | 31% |
| 300 dpi | 2.26 | 2 dots | 11% |
| 600 dpi | 4.51 | 5 dots | 11% |
What Codabar encodes
Digits 0 to 9 and the characters minus, dollar, colon, slash, full stop and plus. The value must begin and end with one of the letters A, B, C or D, which act as start and stop characters and are not part of the data.
Where it is used
- Blood bank and transfusion service labelling
- Library circulation and membership cards
- Photo processing and film envelope tracking
Check digit
None is required. Codabar is self-checking, so a single misread element is unlikely to decode as a different valid character. Some industries layer their own check digit on top as part of their numbering scheme rather than as a feature of the symbology.
How Codabar fails in practice
- Omitting the start and stop letters, which makes the value invalid rather than merely unusual.
- Assuming the start and stop characters carry meaning. Different industries assign them different conventions, so a scanner configured for one may strip or reject the letters another expects.
- Choosing it for a new system. Its density is poor and its character set is narrow; it is here for compatibility, not because it is a good default.
When to use something else
Questions about Codabar
- What do the A, B, C and D characters mean?
- They are start and stop characters rather than data. Conventions vary by industry, and some scanners are configured to strip them before passing the value on, so match whatever the receiving system expects.