Inventory & assets

Codabar barcode

A legacy numeric barcode still standard in blood banks, libraries, and older logistics systems.

Also known as: NW-7, Code 2 of 7, USD-4, ABC Codabar, Monarch

What is Codabar?

Codabar is a numeric barcode from the 1970s with four start and stop characters (A to D) that can carry meaning, self-checking patterns, and no built-in check digit. It remains the required format in blood bank labeling, library circulation, and some photo-finishing and legacy shipping systems, so operations that touch those worlds still print and read it. New applications should use Code 128.

Encodes: Digits 0 to 9 and the symbols - $ : / . +, framed by start and stop characters A, B, C, or D.

Codabar with start character A and stop character B, the pairing many library and blood-bank systems expect.

Open Codabar in the generator

How Codabar is structured

Codabar is a simple discrete symbology: each character stands alone with an inter-character gap, and the start and stop characters double as a crude label-type field.

Part Length What it means
Start character 1 character A, B, C, or D. Receiving systems often require a specific one.
Data Variable Digits and six symbols.
Optional check 1 character Application-defined; blood banks and some libraries add one, most others do not.
Stop character 1 character A, B, C, or D, frequently different from the start character.

Specifications

Character set
0 to 9 and - $ : / . +
Start and stop
A, B, C, or D; the pair can be used to signal the label type
Check digit
None in the base standard; some applications add mod 16 or mod 10
Self-checking
Yes
Length
Variable
Quiet zones
10X on the left and right
Density
Low; each character is seven elements

Dimensions are GS1 General Specifications targets. Confirm against the retailer’s current routing guide before a print run.

Where it is used

  • Blood bag and blood product labeling (ABC Codabar)
  • Library book and patron cards
  • Photo lab and film processing envelopes
  • Legacy air-bill and shipping systems
Generated by the system

Printed to satisfy a downstream system, never chosen fresh

Nobody selects Codabar for a new warehouse. It is printed because a library circulation system, a blood bank standard, or a legacy carrier integration requires it. In those cases the receiving system dictates the start and stop pair and whether a check digit is present, and your label must match exactly.

Mistakes that cost money

Wrong start and stop pair

A system expecting A…B will reject A…A or C…D. The pair is part of the specification, not decoration.

Assuming a check digit

Codabar has none by default. If the downstream system expects one, it must be computed and appended explicitly.

Replacing it with Code 128

Tempting, and wrong where a library or blood system requires Codabar. Keep the legacy format for that flow and modernize the rest.

How Endless handles Codabar

Endless ingests Codabar scans from legacy systems as ordinary identifiers, so an operation that still labels part of its flow this way can run it alongside GS1 and Code 128 labels on the same records.

Frequently asked questions

Is Codabar still used?

Yes, in a few entrenched places: blood banks, libraries, photo processing, and some legacy shipping systems. It is rare in new deployments.

Does Codabar have a check digit?

Not in the base standard. It is self-checking against misreads, but any protection against wrong values comes from an application-specific check digit that the receiving system defines.

Related symbologies

  • Code 39

    The oldest alphanumeric barcode still in daily use, self-checking and printable from any font.

  • Code 128

    The dense, full-ASCII linear barcode behind most warehouse, tote, and carrier labels.

Definitions in the glossary

Browse the full barcode symbology guide.

Book an Endless Commerce demo

See it on your channels.

Spend your time on the business, not the busywork. Book a demo and watch Endless run your operations across every channel you sell on.

Get a Demo