Codabar SpecificationThe Codabar symbology is the oldest symbology, and is used for shipping/receiving (Federal Express), publication control and distribution (libraries), as well as for controlling government supplies. This symbology allows the encoding of strings of up to 16 digits, 10 numeric digits (0 through 9) and 6 special non alpha characters ("+" (plus), "-" (minus), "$" (dollar sign), "/" (slash), ":" (colon), and "." (point)). There are also 4 start/stop code choices possible when using the Codabar symbology. These characters (A, B, C, or D) must be included at the beginning or ending of a string. Using start/stop characters gives Codabar additional coding ability due to the variable character combinations possible. Bars & Stripes will optionally supply these start/stop characters for you. Codabar Character SetThe numbers in the table correspond to the width of the element. A 0 means the element is narrow, and a 1 means the element is wide. Data B S B S B S B Value 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 2 0 0 0 1 0 0 1 2 3 1 1 0 0 0 0 0 3 4 0 0 1 0 0 1 0 4 5 1 0 0 0 0 1 0 5 6 0 1 0 0 0 0 1 6 7 0 1 0 0 1 0 0 7 8 0 1 1 0 0 0 0 8 9 1 0 0 1 0 0 0 9 - 0 0 0 1 1 0 0 10 $ 0 0 1 1 0 0 0 11 : 1 0 0 0 1 0 1 12 / 1 0 1 0 0 0 1 13 . 1 0 1 0 1 0 0 14 + 0 0 1 0 1 0 1 15 A 0 0 1 1 0 1 0 16 B 0 1 0 1 0 0 1 17 C 0 0 0 1 0 1 1 18 D 0 0 0 1 1 1 0 19 NOTEThe start/stop characters are A, B, C, and D. Check Digit CalculationThere is no checksum defined as part of the Codabar standard, but some industries (libraries, for example) have adopted their own checksum standards. Many libraries use the following system which includes 13 digits plus a checksum;
Step 1: Designate the most significant digit postion as odd. 8 5 3 2 9 0 1 2 5 8 6 7 3 O E O E O E O E O E O E O Step 2: Multiply each digit in an odd (O) position by 2. 8 3 9 1 5 6 3 <-- odd digit 16 6 18 2 10 12 6 <-- product Step 3: Sum the products that are less than 10 6 + 2 + 6 = 14 Step 4: Subtract 9 from each of the remaining products and add to the total (16-9) + (18-9) + (10-9) + (12-9) + 14 = 34 Step 5: Add to the total,all the digits in the even (E) positions. 34 + 5+2+0+2+8+7 = 58 Step 6: Subtract from the next higher multiple of 10. 60 - 58 = 2 In this example, the check digit is 2. AIIM Check Digit CalculationAIM recommends the following checkdigit calculation
Check Character ExampleStep 1: Add the character values (from the table), including the start/stop characters. A 8 3 2 9 0 1 B <-- Message characters 16 + 8 + 3 + 2 + 9 + 0 + 1 + 17 <-- Values from table Sum of values: 56 Step 2: Subtract the result from the next higher multiple of 16 (16 * 4) - 56 = 8 check character The check digit is 8 |