What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mintβ¦
Free Online Barcode & QR Code Generator
Create a Codabar barcode, one of the oldest self-checking symbologies, still used in blood banks, libraries, and package tracking.
Open the generator βTurn a CSV β or a numbered sequence β into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.
The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale β commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
Codabar (also known as NW-7, USD-4, or Ames Code) is a linear barcode symbology introduced in 1972, making it one of the earliest barcodes still in active commercial use. It encodes digits 0–9 along with the symbols − $ : / . + and requires each symbol to start and end with one of four special characters, conventionally labeled A, B, C, and D, which also let a single system distinguish between different data formats sharing the same barcode type. Codabar's design goal was simplicity: it can be printed and decoded reliably by even basic, older hardware, which is part of why it's persisted for decades in a few specific industries even as more capable symbologies emerged.
Each character in Codabar is represented by a unique pattern of 4 bars and 3 spaces, with each element being either wide or narrow — giving a self-checking structure where the ratio of wide to narrow elements per character helps a scanner validate that it decoded the symbol correctly, without needing a separate checksum digit (though optional check digits are used in some implementations, such as certain blood bank formats). The mandatory start and stop characters (one of A, B, C, or D at each end) aren't part of the encoded data itself; they're structural markers that also let downstream systems key off which start/stop pair was used to distinguish between different data types printed on the same kind of label.
Codabar encodes the digits 0–9 plus the six symbols − $ : / . +, with no letters. Every symbol must begin and end with a start/stop character chosen from A, B, C, or D (or their historical alternates a, b, c, d / t, n, *, e in some implementations), and these bookend characters are typically excluded from the interpreted data itself. There's no length limit imposed by the specification, though real-world Codabar codes are usually short, in the 8–15 character range. The base standard has no mandatory check digit, though several industry-specific implementations — notably some blood bank and courier applications — layer on an optional modulo-16 or modulo-11 check digit by convention rather than by the core Codabar spec.
Codabar's largest remaining strongholds are blood banks and healthcare, where it's used in the ISBT 128-predecessor labeling systems for blood products and specimen tracking, and libraries, where many library systems still print Codabar on patron cards and book spine labels because of decades-old infrastructure built around it. It also appears in some courier and package-tracking systems, particularly older FedEx airbill formats historically used Codabar-family encoding. Its self-checking structure and simple hardware requirements made it a natural fit for these lower-throughput, reliability-sensitive environments, even though most new barcode deployments today choose Code 128 or Code 39 instead.
Select Codabar from the symbology list on the left, then enter your data using digits 0–9 and the symbols − $ : / . +. Add the appropriate start and stop characters (A, B, C, or D) at the beginning and end if your receiving system expects them explicitly. From there you can:
/barcode?type=codabar&data=A12345B — to generate codes programmatically from a library, courier, or lab systemCodabar's self-checking wide/narrow ratio per character means print consistency matters for accurate decoding — a printer that doesn't maintain a sharp, consistent wide-to-narrow bar ratio can produce a symbol that still looks plausible but decodes incorrectly. Keep the quiet zone clear on both sides, since Codabar's start/stop character detection relies on it, and always confirm which start/stop character convention (A/B/C/D vs. legacy alternates) your specific receiving system expects, since blood bank, library, and courier implementations don't always agree on the same convention. Where the application allows it, add an optional check digit for extra protection, since the base standard doesn't require one.
Codabar and Code 39 are often compared because both are older, self-checking symbologies with modest character sets, but Codabar's character set is numeric-plus-symbols (no letters), while Code 39 supports uppercase letters, digits, and several symbols — a broader alphabet in a similarly simple structure. Compared to Code 128, Codabar is far less space-efficient and has a much smaller character set, but it remains entrenched in blood banks and libraries purely due to installed-base inertia rather than any technical advantage. If you're building a new system without a legacy Codabar requirement, Code 39 or Code 128 will generally serve better.