The Auto ID Book: Bar Code Symbologies
Choosing The Right Bar Code
The most common bar codes are symbols consisting of a series of bars and spaces which can be applied to packages, cartons, bottles, and other commercial products. The bars and spaces in each symbol are grouped in such a way to represent a specific ASCII character. The interpretation of these groups is based on a particular set of rules called symbologies. Various symbologies have been developed for particular applications. Some examples are shipping and receiving, manufacturing, retail, healthcare, transportation, document processing and tracking, and libraries.
Currently there are more than 400 symbologies in use. Some are alphanumeric, while others contain the full ASCII set, or only numeric data. When deciding on a particular bar code, it is best to use a universal symbology that is supported by most manufacturers. In addition, one must consider the type and amount of data to be encoded, as well as the scanning and printing equipment.
Each character in a bar code is represented by a series of bar and spaces. Typically, the code includes a quiet zone, start code, data, stop code, and a trailing quiet zone. Some symbologies support check digits to ensure data integrity. If this supported, the check digit(s) is usually before the stop code. Illustrated below is breakdown of a Code 39 bar code.
Bar Code Densities
The density or resolution of a bar code is dependent upon the narrowest element of a bar code (X dimension), and can vary from high resolution: nominally less than 0.009 inches (0.23 mm); medium resolution: between 0.009 inches (0.23 mm) and 0.020 inches (0.50 mm); and low resolution: greater than 0.020 inches (0.50 mm). The example below illustrates the difference of Code 39 bar code in high, medium, and low resolutions.
For the most effective and reliable scanning with any input device, use the lowest bar code density possible that will print on a given area on the label or page. This will make it easier to print and allow a higher depth of field for scanning. When space is available, Code 39 and Code 128 are the best possible choices when implementing most bar codes solutions.
Symbologies
Several of the most commonly supported symbologies are outlined below. The table below compares some of the important features between the symbologies. The bar code specifications for each of the symbologies can be requested from the trade organizations listed in the Bar Code Specification section at the end of this booklet.
Full ASCII | Standard Code 39 contains only 43 characters (0-9, A-Z, $, /, %, +). Code 39 can be extended to an 128 character symbology (full ASCII) by combining one of the special characters ($, /, %, +) with a letter (A-Z) to form the characters that are not present in the standard Code 39 symbology. For example, in standard Code 39 a lowercase "a" cannot be represented. In Code 39 Full ASCII, however, "a" is represented as "+A." |
Check Digit | A modulo 43 check character can be used to enhance data security for Code 39 symbols. The last digit of the symbol is assumed to be the check digit, and it is compared to a calculated check digit to verify the symbol. |
Append | It is sometimes advantageous to break up long messages into multiple, shorter symbols. If the first character of a Code 39 symbol is a space (ASCII 32), then the scanned symbol is appended to a storage buffer. This operation continues for all successive Code 39 symbols with a leading space being added to previously stored ones. When a Code 39 symbol is scanned which does not include a leading space, it is appended to the buffer, the entire buffer is transmitted, and the buffer is cleared. |
Of all the common linear symbologies, Code 128 is the most flexible. It supports both alpha and numeric characters easily, has the highest number of characters per inch, and is variable length. Code 128 is usually the best choice when implementing a new symbology.
Append | It is sometimes advantageous to break up long messages into multiple, shorter symbols. If the first character of a Code 128 symbol is a Function Code 2 (FNC2), then the scanned symbol is appended to a storage buffer. This operation continues for all successive Code 128 symbols with a FNC2 being added to previously stored ones. When a Code 128 symbol is scanned which does not include a FNC2, it is appended to the buffer, the entire buffer is transmitted, and the buffer is cleared. |
UPC-E (Universal Product Code-E) is also fixed length and is a compressed six digit code used for marking small packages including magazines and paperback books. The printed value of the UPC-E code is a 12-digit code. UPC-E symbols are UPC-A symbols that have been zero suppressed (i.e. consecutive zeros are not included in the symbol). The nominal height for the UPC-E bar code is one inch. The reduced size is 80% of the nominal size.
The EAN/JAN-8 is fixed length and is similar to the UPC-E code, but includes two more digits for the country code. The nominal height for the EAN/JAN-8 bar code is one inch. The reduced size is 80% of the nominal size.
Check Digit | A modulo 10 check character can be used to enhance data security for Interleaved 2 of 5 symbols. When this option is selected, the last digit of the symbol is assumed to be the check digit, and it is compared to a calculated check digit to verify the symbol. |
Append | It is sometimes advantageous to break up long messages into multiple, shorter symbols. If the first character of a Code 93 symbol is a space (ASCII 32), then the scanned symbol is appended to a storage buffer. This operation continues for all successive Code 93 symbols with a leading space being added to previously stored ones. When a Code 93 symbol is scanned which does not include a leading space, it is appended to the buffer, the entire buffer is transmitted, and the buffer is cleared. |
Check Digit | A modulo 16 check character can be used to enhance data security for Codabar symbols. When this option is selected, the last digit of the symbol is assumed to be the check digit, and it is compared to a calculated check digit to verify the symbol. |
Append | When this option is selected, a "D" stop character is used to indicate that the data from the symbol should be concatenated with data from an adjacent symbol with a "D" start character. This option can concatenate any number of Codabar symbols in a row up to the maximum message length. The "D" characters are omitted. |
Traditional Names | The traditional names ascribed different start and stop characters. The start characters are "a", "b", "c", and "d". The stop characters are "t", "n", "*", and "e". When deselected, the start/stop characters are "A", "B", "C", and "D". |
Second Check Digit | A modulo 10 check digit calculation is always performed on the data string. A second modulo 10 check digit is optional and is used to perform a check on the entire string including the first check digit. |
2D (Two Dimensional) Bar Code Symbologies
Wherever traditional linear bar codes act an index to a record in a database (e.g. part number, customer account number, etc.), two dimensional (2D) symbols can fulfill the same function while taking up significantly less space. In addition, 2D symbols can functions as the database itself, and therefore ensure complete portability for 2D labeled items.
2D symbols break from the traditional linear bar code symbologies such as Code 39 and UPC where most applications only need to encode between ten and twenty characters of information. In contrast, 2D symbologies are able to encode up to several thousand characters of machine readable data. In effect, a portable database or portable data file can travel with the product and drive the decision making. 2D bar coding provides the freedom of movement for a database file allowing it to travel with a person or package, item, form, document, card or label. 2D bar coding provides a powerful communications capability without the need to access an external database. Furthermore, you can add 2D symbols to the documents and labels you are already printing.
By employing 2D symbols, more detailed information can be encoded and multiple linear bar code symbols can be reduced to a single symbol. When implemented properly, 2D symbologies can make industrial and commercial procedures faster, less costly, and more reliable by providing immediate access to the portable data file for that container. As an example, the manifest, bill of lading, and material safety data sheet could all be encoded into one 2D symbol. 2D symbols are much more resistant to damage than traditional linear symbols. By building error correction formulas into the 2D symbol, a significant portion of the surface area can be damaged and the information will still be intact. For example, some 2D symbols can lose up to a third of its surface and still be decoded.
Aside from PostNet bar codes used exclusively by the U.S. Postal Service to encode zip code information on letter mail, the most common 2D symbols employed today are PDF417, Data Matrix, and MaxiCode. The intellectual property rights (patents) for each of these codes are in the public domain eliminating the form of payment of royalties for use of this technology. 2D codes are currently represented in matrix symbologies or stacked-bar (multi-row).
Stacked-bar codes are like a set of linear bar codes literally stacked on top of each other. PDF417 is the best example of a stacked-bar symbol and is the most common of all 2D symbols today. Stacked-bar symbologies can be read by laser scanners, cameras, or CCDs.
Matrix codes are made up of a pattern of cells that can be square, hexagonal, or circular in shape and are similar in appearance to checkerboards. Matrix symbols must be read by a camera or CCD reader. These symbols offer higher data densities than stacked codes, at a ratio of about 3:1 or 4:1. Data Matrix and MaxiCode are the best examples of a matrix code.
Summary of 2D Code Attributes
Would you like to own a hard copy of this book? If so, please click here to request your free copy. Be sure to include your name, mailing address, and phone number to ensure prompt delivery.
Click here to return to the Table of Contents.
Glenn W. Lee