Codabar Barcodes: Blood Bank (ISBT 128 Legacy), Library & Air Waybill Guide

Invented in 1972 by Pitney Bowes, Codabar (internationally designated as NW-7 in Japan) holds a revered place in the history of automatic identification. Before modern high-density symbologies like Code 128 or QR codes existed, Codabar was entrusted with humanity's most sensitive data transactions: labeling whole blood transfusion bags, managing millions of university library books, and tracking FedEx overnight courier airbills.

Unlike modern retail barcodes that require high-precision laser imaging, Codabar was intentionally engineered to be readable even when printed by primitive 9-pin dot matrix impact ribbons, embossed credit card imprinters, or carbon copy forms.

In this definitive technical retrospective and engineering guide, we break down the 7-element binary mechanics, the functional role of the four distinct start/stop characters (A, B, C, D), and why modern medical systems have evolved from ABC Codabar to ISBT 128.

1. What Is Codabar (NW-7)?

Codabar is a discrete, self-checking linear barcode symbology capable of encoding 16 data characters along with 4 distinct start and stop delimiters.

In Japan, the standard is formally governed by JIS-X-0504 under the name NW-7, which directly describes its physical geometry: Narrow-Wide 7 elements.

2. Character Set & 7-Element Binary Structure

The standard Codabar data character set consists of exactly 16 characters:

  • 10 Numeric Digits: 0 through 9
  • 6 Punctuation Symbols: Hyphen (-), Dollar ($), Colon (:), Slash (/), Period (.), and Plus (+)

Every individual character is composed of 7 optical elements (4 dark bars and 3 white spaces) separated by a narrow inter-character space.

FIGURE 31.2: CODABAR 7-ELEMENT BINARY ANATOMY (DIGIT '1') Showing 4 bars and 3 spaces (2 wide elements + 5 narrow elements) plus inter-character gap B1 nar S1 nar B2 nar S2 nar B3 WIDE S3 WIDE B4 nar GAP DIGIT '1' BINARY SPECIFICATION: Binary: 0 0 0 0 1 1 0 (n n n n W W n) • Total Elements: 7 (Always 4 Bars + 3 Spaces) • Wide Elements: Exactly 2 or 3 wide elements per char • Discrete Architecture: Separated by inter-character space • Wide-to-Narrow Ratio (N): 2.25:1 to 3.0:1 ✓ High tolerance to dot-matrix impact print drift
Figure 31.2: Binary element anatomy of the digit '1' in Codabar showing the 7-element (4-bar, 3-space) framework and inter-character white separation gap.

3. The Unique A, B, C, D Start/Stop Character Pairs

Unlike Code 39 (which uses a single universal asterisk * delimiter), Codabar features four unique start/stop characters: A, B, C, and D (in earlier literature called T, N, *, and E).

By varying which characters appear at the start and end of the string, system architects could encode document metadata without adding data digits:

  • A ... B → Outbound customer package
  • A ... C → Return receipt airbill
  • B ... B → Whole blood red blood cell unit
  • C ... D → Platelet concentrate unit

4. The Blood Bank Heritage: ABC Codabar to ISBT 128

In 1977, the American Blood Commission formalized ABC Codabar as the mandatory standard for labeling blood donor units across North America.

For over twenty-five years, every pouch of whole blood, plasma, and cryoprecipitate was identified by a 4-quadrant Codabar label containing:

  1. Donor Registration Unit Number
  2. ABO/Rh Blood Group
  3. Product Code (e.g. Red Blood Cells, CPDA-1)
  4. Expiration Date
FIGURE 31.3: BLOOD BANKING IDENTIFICATION MIGRATION Why global transfusion medicine transitioned from ABC Codabar to ISBT 128 1977 – 2005: ABC CODABAR ✗ Local facility numbering only ✗ Clashing unit IDs across different states ✗ Zero country code identification ✗ Limited data capacity (numeric only) • Dot-matrix impact printer quality HIGH RISK IN CROSS-BORDER FREIGHT MODERN: ISBT 128 (CODE 128 & 2D) ✓ Globally unique 13-character Donation ID ✓ Built-in country & collection facility codes ✓ Year of collection and check character ✓ Full alphanumeric Code 128 density ✓ 2D Data Matrix for micro surgical aliquots INTERNATIONAL TRANSFUSION SAFETY
Figure 31.3: Healthcare evolution detailing why international blood transfusion regulators retired ABC Codabar in favor of globally unique ISBT 128 Code 128 and Data Matrix standards.

5. Municipal & Academic Library Circulation Standards

While blood banks migrated to ISBT 128, hundreds of municipal and university libraries worldwide still utilize Codabar on the inside back covers of books and on patron library cards.

The standard library format consists of 14 numeric digits framed by start/stop character A and B:

  • Digit 1: Patron vs Book Item Indicator (e.g., 2 = Patron Card, 3 = Book Volume)
  • Digits 2–5: Institutional Library Identification Code
  • Digits 6–13: Sequential Catalog or Patron Number
  • Digit 14: Modulo-10 Check Digit

6. Overnight Courier Tracking (FedEx Airbill Legacy)

In the early days of overnight air courier logistics, Federal Express (FedEx) famously printed Codabar barcodes on multi-part carbon-copy Air Waybill forms.

Because couriers filled out paper waybills in the field using ballpoint pens, the bottom carbon slips were often smudged or misaligned. Codabar's massive optical tolerances ensured sorting hub wand scanners could read the tracking number even through wrinkled carbon paper.

7. Codabar vs Code 128: Why Modern Systems Migrated

While Codabar was revolutionary in 1972, it has been largely superseded by Code 128 for new enterprise deployments due to three structural limitations:

  1. Extremely Low Data Density: Codabar takes up roughly twice as much label space as Code 128 to encode the same number of digits.
  2. Limited Character Set: It cannot encode letters of the alphabet (only 0–9 and 6 symbols).
  3. Lack of Native Checksum: Modern logistics networks demand high-security polynomial checksums to prevent misreads at 120-meter-per-minute conveyor speeds.

8. Check Digit Algorithms: Modulo-16 & Library Modulo-10

While Codabar standard specifications do not mandate a check digit, two mathematical checksum variations are common:

  • Modulo-16 Checksum: Sum the numerical values of all data characters (0–15), divide by 16, and append the character matching the remainder ($R = \text{Sum} \pmod{16}$).
  • Library Modulo-10 Checksum: Sum the odd-position digits multiplied by 2 and even-position digits multiplied by 1, subtracting the sum from the nearest multiple of 10.
Advertisement Area

9. Frequently Asked Questions

What is Codabar also known as?

Codabar is also known as NW-7 (Narrow-Wide 7 elements), Monarch, Code 2 of 7, Ames Code, and USD-4. It was developed in 1972 by Pitney Bowes.

What are the start and stop characters in Codabar?

Codabar uses four distinct start and stop characters: A, B, C, and D (sometimes denoted as T, N, *, and E). Using different pairs of start and stop characters allowed systems to categorize document types (e.g., an air waybill versus a return receipt).

Why did blood banks replace Codabar with ISBT 128?

While Codabar served blood transfusion services reliably for decades (under the ABC Codabar standard), it lacked international unique identification, character capacity, and standardized country coding. ISBT 128 (using Code 128 and Data Matrix) replaced it to enable global traceability across national borders.

Does Codabar require a check digit?

Codabar does not have a mandatory standard check digit because it is inherently self-checking. However, specific industries implemented proprietary Modulo-16 checksums to guarantee zero read errors.

DS
Written by

David Sterling

David is a Senior Packaging & Automatic Identification Engineer with over 16 years of experience optimizing legacy industrial barcodes, blood transfusion labeling standards, and library asset management systems.