Barcode Studio

Codabar Barcode Generator

Generate Codabar barcodes for healthcare, laboratories, libraries and legacy identification workflows.

Data Matrix PDF417 Code 128 Code 93 EAN-13 EAN-8 UPC-A ISBN Code 39 ITF-14 MSI Plessey Pharmacode Codabar

Barcode & Matrix Generator

Live Studio Preview
Invalid input format for selected symbology.
SMART BARCODE INTELLIGENCE
Analyzing barcode...
-- /100 SCAN READY
RECOMMENDED FORMAT Analyzing...
BEST FOR —
DATA RULES —
CHECK DIGIT —
CONTRAST —
Analyzing barcode data...
PROFESSIONAL EXPORT STUDIO
Export your barcode Choose a professional format and output resolution.
HIGH RES
PNG · 1024 px · Current background

Code 128 Batch Serial Number Generator

Generate sequential Code 128 barcodes for warehouse SKUs, asset tags, inventory labels, and other internal identifiers.

Configure your sequence above and click generate to build batch items.
BARCODE KNOWLEDGE STUDIO

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.

Runs in your browser Standards-aware formats Batch serial mode SVG, PNG, WEBP, JPG

How to create a Codabar barcode

  1. 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.
  2. 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.
  3. 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.
  4. Review the Smart Barcode Intelligence panel for readability score and character validation.
  5. 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

FieldValueSource
Full nameCodabar—
Also known asNW-7 (Japan), USD-4 (ANSI), Monarch, Code 2 of 7barcodeguide.seagullscientific.com; barcodegen.net
Year developed1972 (Pitney Bowes)barcodefyi.com; barcodegen.net
Governing specAIM-BC3-2000 Uniform Symbology Specification — Codabarbarcodeguide.seagullscientific.com
ISO/IEC standardNonebarcodeguide.seagullscientific.com
Encodable charactersDigits 0–9; special characters -, $, :, /, ., +barcodefyi.com; barcodegen.net
Start/stop charactersA, B, C, D (any combination; not part of data payload)barcodefyi.com; barcodegen.net
Symbol lengthVariablebarcodeguide.seagullscientific.com
Elements per character7 (4 bars + 3 spaces); 2 or 3 wide elements per characterbarcodeguide.seagullscientific.com; barcodefyi.com
Self-checkingYesbarcodefyi.com
Check digitNone 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 zonesMinimum 10Xbarcodefyi.com deep dive; barcodeguide.seagullscientific.com
Min bar height5.0 mm or 15% of symbol width (excluding quiet zones), whichever is greaterbarcodeguide.seagullscientific.com
DensityApproximately 10 characters per inchbarcodefyi.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

FeatureCodabarCode 128
Character setDigits 0–9; -, $, :, /, ., +All 128 ASCII characters (values 0–127)
ISO/IEC standardNone (AIM-BC3-2000)ISO/IEC 15417:2007
Check digitNone mandatory (optional Mod 16 or Mod 10)Mandatory Mod-103 check character
Scanner defaultOften disabled — must be enabledEnabled by default on all modern scanners
Start/stopA, B, C, D — choice carries application-specific meaningThree start characters (A, B, C set) — not exposed to users
New project suitabilityNot recommendedRecommended
Primary use todayBlood banks (AABB), legacy libraries, legacy FedEx air billsShipping, 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.

PRODUCTION CHECKLIST

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
Return to generator ↑
BARCODE FAQ

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.