Codabar
{{Short description|Type of barcode}}
Codabar is a linear barcode symbology developed in 1972 by Pitney Bowes Corp. {{cite web |url=http://other.lookstrike.com/barcode/demo/html/codabar.php |author=Jean-Sébastien Goupil |title=Configs for codabar |publisher=Barcode Generator |archive-url=https://web.archive.org/web/20070111200807/http://other.lookstrike.com/barcode/demo/html/codabar.php |archive-date=11 January 2007}} 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.{{cite web|url=https://www.uspto.gov/|title=United States Patent and Trademark Office|website=Uspto.gov}}
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 {{as of|2007|lc=y}}. Besides that, in the healthcare industry, Codabar is very important for identifying patients and tracking samples. Laboratories also use Codabar to track specimen tubes. In logistics, Codabar is often used for labeling packages and tracking shipments. Its design allows for quick and efficient scanning, enabling the identification of packages at multiple stages of the shipping process.{{Cite web |date=2025-01-21 |title=Codabar Reader - Scanbot SDK |url=https://scanbot.io/barcode-scanner-sdk/codabar/ |access-date=2025-03-31 |website=scanbot.io |language=en-US}} 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.{{cite web|url=https://www.morovia.com/manuals/bax3/shared.bartech.php|title=14 Barcode Technologies - Morovia Barcode ActiveX 3.8 Reference Manual|website=Morovia.com}}
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.{{cite web|url=http://www.makebarcode.com/specs/codabar.html|title=Codabar Barcode|website=Makebarcode.com}}
When all 16 symbols are possible, a simple modulo-16 checksum is used.{{cite web|url=http://www.barcodesymbols.com:80/codabar.htm|archive-url=https://web.archive.org/web/20040921225414/http://www.barcodesymbols.com/codabar.htm|url-status=dead|archive-date=21 September 2004|title=Codabar|date=21 September 2004|accessdate=27 December 2018}} 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.{{cite web|url=http://www.barcodeman.com/info/codabar.php|archive-url=https://web.archive.org/web/20160415005614/http://www.barcodeman.com/info/codabar.php|url-status=dead|archive-date=15 April 2016|title=Altek Instruments -> BarcodeMan -> Codabar Barcode Specification|date=15 April 2016|accessdate=27 December 2018}}
The characters are divided into three groups, based on the number of wide elements:
- The basic 12 symbols (digits 0–9, dash, and $) are encoded using all possible combinations of one wide bar and one wide space.
- An additional 4 symbols (:/.+) are encoded using 3 wide bars and no wide spaces.
- 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.{{cite web|url=http://aimglobal.org/aimstore/linearsymbologies.asp|archive-url=https://web.archive.org/web/20061206022233/http://aimglobal.org/aimstore/linearsymbologies.asp|url-status=dead|archive-date=6 December 2006|title=AIM - The global trade association for automatic identification|date=6 December 2006|accessdate=27 December 2018}}
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.
class="wikitable" align="center" style="text-align: center"
|+ Codabar symbols !rowspan=2| Spaces | colspan=8| Bars |
colspan=2| 0001 ||colspan=2| 0010 ||colspan=2| 0100 ||colspan=2| 1000 | |
---|---|
001
| 0 || lll l | 1 || lll l | 4 || lll l | 5 || lll l | |
010
| 2 || ll ll | – || ll ll | $ || ll ll | 9 || ll ll | |
100
| 6 || l lll | 7 || l lll | 8 || l lll | 3 || l lll | |
colspan=9| | |
011
| C or * || ll l l | D or E || ll l l | A or T || ll l l |colspan=2| (reverse B/N) | |
110
| B or N || l l ll |colspan=2| (reverse A/T) |colspan=2| (reverse D/E) |colspan=2| (reverse C/*) | |
colspan=9| | |
||colspan=2| 1110 ||colspan=2| 1101 ||colspan=2| 1011 ||colspan=2| 0111 | |
000
| . || llll | / || llll | : || llll | + || 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:
- The wide spaces are required to be adjacent (so only 011 and 110 are allowed; 101 is not), and
- The reversed forms of the valid codes are not valid, to identify the direction in which to read the code.
References
{{Reflist}}
External links
- [https://web.archive.org/web/20110708135504/http://www.chaosreligion.com/wtl/index.php5?title=EAN EAN MediaWiki extension], a MediaWiki extension, visualizing Codabar/Code39/EAN-13/EAN-8/UPC-A barcodes by specifying only the numbers/symbols in the wiki-text.
- [http://marlex-technology.com/en/pages/barcode.html Types of barcodes]
- [http://www.racoindustries.com/barcodegenerator/1d/codabar.aspx Online Codabar generator].
{{Barcodes}}