Codabar Explained

Codabar is a linear barcode symbology developed in 1972 by Pitney Bowes Corp. [1] It and its variants are also known as Codeabar, Ames Code, NW-7, Monarch, Code 2 of 7, Rationalized Codabar, ANSI/AIM BC3-1995 or USD-4. Although Codabar has not been registered for United States federal trademark status, its hyphenated variant, Code-a-bar, is a registered trademark.[2]

Codabar was designed to be accurately read even when printed on dot matrix printers for multi-part forms such as FedEx airbills and blood bank forms, where variants are still in use . Although newer symbologies hold more information in a smaller space, Codabar has a large installed base in libraries. It is even possible to print Codabar codes using typewriter-like impact printers, which allows the creation of many codes with consecutive numbers without having to use computer equipment. After each printed code, the printer's stamp is mechanically turned to the next number, as for example in mechanical mile counters.

Check digit

Because Codabar is self-checking, most standards do not define a check digit.[3]

Some standards that use Codabar will define a check digit, but the algorithm is not universal. For purely numerical data, such as the library barcode pictured above, the Luhn algorithm is popular.[4]

When all 16 symbols are possible, a simple modulo-16 checksum is used.[5] The values 10 through 19 are assigned to the symbols –$:/.+ABCD, respectively.

Encoding

Each character comprises 7 elements, 4 bars and 3 spaces, and is separated from adjacent characters by an additional narrow space. Each can be either narrow (binary value 0) or wide (binary value 1). The width ratio between narrow and wide can be chosen between 1:2.25 and 1:3. The minimum narrow width varies with the specification, with the smallest being 0.0065 inches (0.165 mm), allowing 11 digits per inch to be encoded.[6]

The characters are divided into three groups, based on the number of wide elements:

  1. The basic 12 symbols (digits 0–9, dash, and $) are encoded using all possible combinations of one wide bar and one wide space.
  2. An additional 4 symbols (:/.+) are encoded using 3 wide bars and no wide spaces.
  3. 4 start and stop symbols (designated ABCD, or in some specifications, EN*T) are encoded using one wide bar and two wide spaces.

The original Pitney-Bowes specification actually varies the narrow:wide width ratio to make all characters the same width. That is, characters with two wide elements use a 3:1 ratio, while characters with three wide elements use a 2:1 ratio, so all characters are 10 narrow elements wide (plus the inter-character space makes 11). "Rationalized codabar" uses a fixed ratio and allows the character widths to vary.

Depending on the particular specification, for example the Association for Automatic Identification and Mobility's Uniform Symbol Specification, the body of a Codabar string may only encode the numerals 0 through 9. Some variants allow the symbols dollar, dash, plus sign, colon, slash, and dot.[7]

The alphabet characters A, B, C, D (in some specifications, E, N, asterisk, and T) are used to mark the beginning and end of the barcode. They do not appear in the body of a Codabar string. The 16 possible combinations of start and stop symbol may be used to distinguish different applications. For example, the library barcode illustrated begins with A and ends with B. FedEx tracking number barcodes, on the other hand, begin with B and end with D.

Spaces
Bars
0001 0010 0100 1000
0010 lll l1 lll l4 lll l5 lll l
0102 ll llll ll$ ll ll9 ll ll
1006 l lll7 l lll8 l lll3 l lll
011C or *  ll l l D or E  ll lA or T  ll l l (reverse B/N)
110B or N l l ll(reverse A/T)(reverse D/E)(reverse C/*)
1110 1101 1011 0111
000. llll/ llllllll+ llll

Although there are 12 combinations of one wide bar (four choices) and two wide spaces (three choices), the start/stop codes are limited in two ways:

  1. The wide spaces are required to be adjacent (so only 011 and 110 are allowed; 101 is not), and
  2. The reversed forms of the valid codes are not valid, to identify the direction in which to read the code.

External links

Notes and References

  1. Web site: Configs for codabar . Jean-Sébastien Goupil . Barcode Generator . https://web.archive.org/web/20070111200807/http://other.lookstrike.com/barcode/demo/html/codabar.php . 11 January 2007.
  2. Web site: United States Patent and Trademark Office. Uspto.gov.
  3. Web site: 14 Barcode Technologies - Morovia Barcode ActiveX 3.8 Reference Manual. Morovia.com.
  4. Web site: Codabar Barcode. Makebarcode.com.
  5. Web site: Codabar. https://web.archive.org/web/20040921225414/http://www.barcodesymbols.com/codabar.htm. dead. 21 September 2004. 21 September 2004. 27 December 2018.
  6. Web site: Altek Instruments -> BarcodeMan -> Codabar Barcode Specification. https://web.archive.org/web/20160415005614/http://www.barcodeman.com/info/codabar.php. dead. 15 April 2016. 15 April 2016. 27 December 2018.
  7. Web site: AIM - The global trade association for automatic identification. https://web.archive.org/web/20061206022233/http://aimglobal.org/aimstore/linearsymbologies.asp. dead. 6 December 2006. 6 December 2006. 27 December 2018.