Codabar Barcode Generator
Generate Codabar barcodes for healthcare, laboratories, libraries and legacy identification workflows.
Barcode & Matrix Generator
Live Studio Preview
Code 128 Batch Serial Number Generator
Generate sequential Code 128 barcodes for warehouse SKUs, asset tags, inventory labels, and other internal identifiers.
Codabar Barcode Generator
Quick answer: Codabar, also known as NW-7, USD-4 and Monarch, encodes digits 0–9 and the characters -, $, :, /, . , +. It is self-checking with no mandatory check digit, and uses four interchangeable start/stop characters: A, B, C and D.
How to create a Codabar barcode
- Enter the data to encode — digits 0–9 and the special characters -, $, :, /, ., and + are valid. Codabar cannot encode letters in the data payload; the only alphabetic characters are the start/stop symbols.
- Select the start character (A, B, C or D) and the stop character (A, B, C or D). For blood-bank applications, the combination carries meaning — see the blood bank section below. For general use, A–B is a common convention.
- If your application uses an optional check digit (Mod 16 or Mod 10), confirm which scheme and enable it. The core Codabar standard does not mandate a check digit, but some healthcare and library applications add one.
- Review the Smart Barcode Intelligence panel for readability score and character validation.
- Download as PNG, SVG, WEBP or JPG at up to 4096 px with current colour, white or transparent background.
The barcode is generated in your browser. Nothing you enter is uploaded.
What Codabar is
Codabar was developed in 1972 by Pitney Bowes. It is also known as NW-7 (Japan), USD-4 (ANSI), Monarch and Code 2 of 7. The governing specification is AIM-BC3-2000, the Uniform Symbology Specification for Codabar, referenced by the barcode guide at barcodeguide.seagullscientific.com. Codabar has no dedicated ISO/IEC standard.
Each Codabar character is encoded in 7 elements (4 bars and 3 spaces), with 2 or 3 elements being wide. The "2 of 7" designation in the Code 2 of 7 alias refers to this structure. Codabar is self-checking, meaning a single-element error in one character changes the character to an invalid pattern that decoders reject, rather than silently producing a wrong value.
Codabar has no mandatory check digit in the core standard. An optional Mod 16 or Mod 10 check character is used by some healthcare and library applications. Whether to include a check digit depends on what the receiving system expects.
Many modern scanners have Codabar disabled by default because it is a legacy format. If you are deploying Codabar in a new installation, enable it via the scanner's programming guide before going live.
Codabar technical specification
| Field | Value | Source |
|---|---|---|
| Full name | Codabar | — |
| Also known as | NW-7 (Japan), USD-4 (ANSI), Monarch, Code 2 of 7 | barcodeguide.seagullscientific.com; barcodegen.net |
| Year developed | 1972 (Pitney Bowes) | barcodefyi.com; barcodegen.net |
| Governing spec | AIM-BC3-2000 Uniform Symbology Specification — Codabar | barcodeguide.seagullscientific.com |
| ISO/IEC standard | None | barcodeguide.seagullscientific.com |
| Encodable characters | Digits 0–9; special characters -, $, :, /, ., + | barcodefyi.com; barcodegen.net |
| Start/stop characters | A, B, C, D (any combination; not part of data payload) | barcodefyi.com; barcodegen.net |
| Symbol length | Variable | barcodeguide.seagullscientific.com |
| Elements per character | 7 (4 bars + 3 spaces); 2 or 3 wide elements per character | barcodeguide.seagullscientific.com; barcodefyi.com |
| Self-checking | Yes | barcodefyi.com |
| Check digit | None mandatory. Optional Mod 16 or Mod 10 check character used by some healthcare and library applications. | barcodefyi.com; barcodegen.net; barcodefyi.com deep dive |
| Quiet zones | Minimum 10X | barcodefyi.com deep dive; barcodeguide.seagullscientific.com |
| Min bar height | 5.0 mm or 15% of symbol width (excluding quiet zones), whichever is greater | barcodeguide.seagullscientific.com |
| Density | Approximately 10 characters per inch | barcodefyi.com deep dive |
The start/stop character system
Every Codabar symbol begins with a start character and ends with a stop character. The four options — A, B, C and D — are structurally identical to other Codabar characters in terms of their bar pattern, but decoders distinguish them from data characters. The start and stop characters are not transmitted as part of the decoded data; they frame the payload.
Unlike most barcode symbologies, Codabar allows any combination of start and stop characters. A–B is one common convention; B–B is another. In blood banking, the choice of start/stop pair carries specific meaning defined by AABB standards (see below).
When to use Codabar
Blood banking (AABB standard)
Codabar was mandated by AABB (the American Association of Blood Banks, now simply AABB) for blood bag labels and related blood bank documentation. The start/stop pair carries information about what the label represents:
- A–B start/stop pair: donation number
- C–D start/stop pair: component code
- D–D start/stop pair: expiration date or blood group
Blood banks are transitioning to ISBT 128 (a Code 128-based standard for international blood transfusion services). ISBT 128 provides a globally unique numbering system and broader data capacity. Many AABB-accredited facilities still operate Codabar equipment in parallel with or in transition to ISBT 128. If you are maintaining or migrating a blood bank labelling system, confirm which standard your facility is currently operating before generating barcodes.
Libraries
Codabar is used in many legacy integrated library systems for patron cards and book spine labels. A patron's library card number is encoded in Codabar; a spine label carries the library's item identifier. Most library systems have been migrating to Code 128 or Code 39 for new deployments, but existing Codabar readers and catalogues are still in active use in public and academic libraries.
Legacy FedEx air-waybill numbers
FedEx historically used Codabar for air-waybill tracking numbers. Most FedEx operations have migrated to Code 128, but Codabar appears in legacy documentation and archival systems. If you are reprinting historical labels or maintaining compatibility with older FedEx systems, Codabar is the correct format.
Photo lab order numbers
Some photo lab management systems built in the 1980s and 1990s used Codabar for order and envelope identifiers. This is a very narrow legacy use case, but it is mentioned here because these systems occasionally resurface when film processing operations digitise their archives.
For any new project that requires a numeric or limited-special-character barcode, Code 128 is the correct modern choice. Code 128 encodes all ASCII characters, is standardised under ISO/IEC 15417:2007, and is enabled by default on all modern scanners.
Design and print requirements
Maintain a quiet zone of at least 10X (ten times the X-dimension, the width of the narrowest bar) on both sides of the symbol. Codabar decoders use the quiet zone to locate the start and stop characters. Source: barcodefyi.com deep dive; barcodeguide.seagullscientific.com.
Bar height must be at least 5.0 mm or 15% of the symbol width (excluding quiet zones), whichever is greater. Source: barcodeguide.seagullscientific.com.
Codabar's density is approximately 10 characters per inch. This is lower than Code 128 (typically 17 characters per inch), so a Codabar label is longer than the equivalent Code 128 label for the same data. Ensure the label has sufficient physical width.
Print contrast must be high. Dark bars on a light background is the reliable combination for any 1D barcode. Low-contrast ink, glossy substrates that cause glare, or printing over a coloured background are common causes of scan failures.
The SVG export is preferred for print work because it is resolution-independent.
Troubleshooting: why your Codabar barcode is not scanning
Codabar is not enabled on the scanner. This is the most common failure with Codabar specifically. Many modern scanners disable Codabar by default because it is a legacy format. Locate the Codabar enable programming barcode in your scanner's manual and scan it.
The start/stop pair does not match the application's expectation. A blood bank system expecting A–B start/stop will not process a barcode printed with A–A. Check the application's documentation and regenerate with the correct pair.
The data contains an invalid character. Codabar encodes digits and the six special characters (-, $, :, /, ., +). Letters in the data payload are not valid. Confirm the data contains only supported characters.
The quiet zone is too short. A 10X quiet zone on both sides is required. If the label is printed with the barcode close to an edge, the decoder may not recognise the symbol start.
The check digit scheme does not match. If the application expects a Mod 16 check character and the barcode was printed without one, the scan will verify but the application may reject the payload. Confirm whether a check digit is expected and which scheme.
The label is too small for the scan distance. At approximately 10 characters per inch, a Codabar label encoding a 10-digit blood bank number is about 2.5 cm long at standard density. Confirm minimum label size for your scanner's working distance.
Codabar versus Code 128
| Feature | Codabar | Code 128 |
|---|---|---|
| Character set | Digits 0–9; -, $, :, /, ., + | All 128 ASCII characters (values 0–127) |
| ISO/IEC standard | None (AIM-BC3-2000) | ISO/IEC 15417:2007 |
| Check digit | None mandatory (optional Mod 16 or Mod 10) | Mandatory Mod-103 check character |
| Scanner default | Often disabled — must be enabled | Enabled by default on all modern scanners |
| Start/stop | A, B, C, D — choice carries application-specific meaning | Three start characters (A, B, C set) — not exposed to users |
| New project suitability | Not recommended | Recommended |
| Primary use today | Blood banks (AABB), legacy libraries, legacy FedEx air bills | Shipping, warehouse, inventory, GS1-128 |
Using this barcode in Bahrain and international supply chains
Bahrain retailers, importers, manufacturers and logistics teams should match identifiers to the rules of their trading partners. Retail GTINs must come from the proper issuing organisation; a generator creates artwork but does not assign ownership. Internal stock and asset references may use organisation-defined values when the receiving system supports them.
Use British English in operational guidance where it matches your organisation’s style, and add Arabic instructions for teams that need them. Print under the actual conditions of use. Bahrain’s heat, bright light, dust, curved packaging and reflective laminate can expose contrast or surface problems that are invisible on a monitor.
Keep quiet zones clear, avoid stretching the image, and prefer dark bars on a plain light background. Scan samples from the beginning, middle and end of a print run. For regulated retail, healthcare, publishing or logistics use, confirm the current GS1, ISBN-agency, customer or industry specification before approving production.
Before you print
- Correct symbology selected
- Identifier ownership confirmed
- Check digit verified
- Quiet zones kept clear
- Strong bar contrast
- Aspect ratio unchanged
- SVG or high-resolution PNG
- Production scanner test
Frequently asked questions
Open a question to read a concise technical answer.
01What is a Codabar barcode?+
Codabar is a self-checking 1D barcode developed in 1972 by Pitney Bowes. It is also known as NW-7, USD-4 and Monarch. It encodes digits 0–9 and the special characters -, $, :, /, ., and +, using four interchangeable start/stop characters (A, B, C, D). It has no ISO standard and no mandatory check digit. Source: AIM-BC3-2000 via barcodeguide.seagullscientific.com.
02What is Codabar used for?+
Codabar's main active uses are blood bank labels (mandated by AABB for donation numbers, component codes and expiration dates using specific start/stop pairs), library patron cards and book spine labels, and legacy FedEx air-waybill numbers. It was also used in early photo lab order systems. For new deployments, Code 128 is the standard recommendation.
03Why do blood banks use Codabar?+
AABB (the American Association of Blood Banks) mandated Codabar for blood bag labels because the start/stop character pair carries information: A–B encodes a donation number, C–D a component code, and D–D an expiration date or blood group. Blood banks are transitioning to ISBT 128, a Code 128-based international standard, but many facilities still operate Codabar equipment. Source: barcodefyi.com deep dive.
04What is the difference between Codabar and Code 39?+
Both are discrete, self-checking 1D barcodes with no mandatory check digit. Code 39 encodes A–Z, 0–9 and seven special characters (26 more than Codabar), is standardised under ISO/IEC 16388:2023, and is broadly used in industrial and US DoD applications. Codabar encodes a narrower character set but uses four start/stop characters with application-specific meaning, which is why blood banking adopted it. For new projects, Code 128 is preferred over both.
05Does Codabar have a check digit?+
The core AIM-BC3-2000 standard does not mandate a check digit. Codabar is self-checking, meaning single-element errors produce invalid characters that decoders reject. Some applications — particularly healthcare and library systems — add an optional Mod 16 or Mod 10 check character. Confirm whether the receiving system expects a check digit, and if so which scheme, before printing.
06What are the start/stop characters in Codabar?+
Codabar uses four start/stop characters: A, B, C and D. Any combination of start and stop is valid. The start and stop characters frame the data payload and are not transmitted as part of the decoded string. In blood banking, the pair carries meaning defined by AABB: A–B for donation numbers, C–D for component codes, D–D for expiration or blood group.
07What is NW-7?+
NW-7 is the Japanese name for Codabar. The "NW" designation comes from the bar encoding structure. The same symbology is also called USD-4 (ANSI), Monarch and Code 2 of 7 in different markets and standards contexts. All names refer to the same barcode format governed by AIM-BC3-2000.
08Is Codabar still used in libraries?+
Yes, in legacy systems. Many public and academic libraries still use Codabar-encoded patron cards and item labels because their integrated library systems were installed when Codabar was the standard format. Most new library system deployments use Code 128 or Code 39. Libraries maintaining existing Codabar infrastructure may need Codabar-compatible scanners and label printers.
09What is ISBT 128 and how does it replace Codabar?+
ISBT 128 is an international standard for blood labelling based on Code 128 (ISO/IEC 15417:2007). It provides a globally unique numbering system, a broader character set than Codabar, and compatibility with modern scanner infrastructure. AABB-accredited blood banks are progressively transitioning from Codabar to ISBT 128. The two standards coexist during transition; some facilities print both formats on the same label.
10How do I enable Codabar on my scanner?+
Codabar is disabled by default on most modern barcode scanners because it is a legacy format. To enable it, locate the Codabar enable programming symbol in your scanner model's programming guide and scan it. The exact process varies by manufacturer (Zebra, Honeywell, Datalogic, etc.) — refer to the model-specific guide. After enabling, test with a known-good barcode before deploying.