Bar codes provide a simple and inexpensive method of encoding text information that is easily read by inexpensive electronic readers. Bar coding also allows data to be collected rapidly and with extreme accuracy. A bar code consists of a series of parallel, adjacent bars and spaces. Predefined bar and space patterns or “symbologies” are used to encode small strings of character data into a printed symbol. Bar codes can be thought of as a printed type of the Morse code with narrow bars (and spaces) representing dots, and wide bars representing dashes. A bar code reader decodes a bar code by scanning a light source across the bar code and measuring the intensity of light reflected back by the white spaces. The pattern of reflected light is detected with a photodiode which produces an electronic signal that exactly matches the printed bar code pattern. This signal is then decoded back to the original data by inexpensive electronic circuits. Due to the design of most bar code symbologies, it does not make any difference if you scan a bar code from right to left or from left to right.

The basic structure of a bar code consists of a leading and trailing quiet zone, a start pattern, one or more data characters, optionally one or two check characters and a stop pattern.

There are a variety of different types of bar code encoding schemes or “symbologies”, each of which were originally developed to fulfill a specific need in a specific industry. Several of these symbologies have matured into de-facto standards that are used universally today throughout most industries. The symbologies supported by B-Coder, the TALtech Bar Code ActiveX control and the TALtech Bar Code DLLs are those most commonly used across all industries.

The different symbologies have different capabilities for encoding data. For example the UPC symbology used to identify retail products always contains 12 numeric digits whereas the general purpose Code 39 or Code 128 bar code symbologies can encode variable length alphanumeric data up to about 30 characters in length. These types of bar codes are called “linear symbologies” because they are made up of a series of lines of different widths. Most commercially available bar code scanners are able to read all of the different linear bar code symbologies therefore you do not need different readers for different types of bar codes.

New “2-Dimensional” bar code symbologies like PDF417, Aztec Code and Data Matrix are also now available that can encode several thousand bytes of data in a single bar code symbol including text or binary data. The newer 2D bar code symbologies typically require special bar code readers that are designed specifically for reading them.

The primary purpose of a bar code is to identify something by labeling the item with a bar code containing a unique number or character string. Bar codes are typically used with a database application where the data encoded in the bar codes is used as an index to a record in the database that contains more detailed information about the item that is being scanned. For example, when a checkout clerk scans a bar code on a product in a grocery store, the bar code data is fed to a computer that looks up the information in a central database and returns more detailed information about the item that was scanned including possibly a description of the item and a price. By using bar codes, the grocery store does not need to put a price tag on each item in the store and they can also change the price for a particular item by modifying a single entry in the central database. They can also track how much of a product is currently in stock so that they know when to re-order more of each item as the number of items in stock falls.

Bar codes also provide a quick and error free means for inputting the data into an application running on a computer. By using bar codes, the potential for errors from manual data input is eliminated. Another typical application for bar codes is therefore for inputting data without having to type. For example you could encode name or address data in a bar code on an ID badge and then scan the ID badges to input a persons name into a computer program instead of typing the information.

How much data can you actually encode?
The different bar code symbologies support different types and amounts of data therefore you normally choose a particular symbology based on the type and amount of data that you want to encode in your bar codes.

Symbology
Data Capacity

UPC-A
12 numeric digits – 11 user specified and 1 check digit.

UPC-E
7 numeric digits – 6 user specified and 1 check digit.

EAN-8
8 numeric digits – 7 user specified and 1 check digit.

EAN-13
13 numeric digits – 12 user specified and 1 check digit.

Code 39
Code 93
Code 128
EAN-UCC 128
Variable length alphanumeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 40 characters. Code 128 is more efficient at encoding data than Code 39 or Code 93. Code 128 is the best choice for most general bar code applications. Code 39 and Code 128 are both very widely used while Code 93 is rarely used.

I 2 of 5
Variable length numeric data – the practical upper limit is dependent on the scanner and is typically between 20 and 50 characters.

Data Matrix
Data can consist of any type of data including binary or alphanumeric and be up to 3116 bytes in length.

Aztec
Data can consist of any type of data including binary or alphanumeric and be up to 3750 bytes in length.

Maxicode
Maxicode can hold up to 93 alphanumeric characters or 138 numeric digits. Maxicode is used almost exclusively for United Parcel Service package identification.

PDF417
PDF417 is a little more complex and it is difficult to say exactly what its capacity is because it depends greatly on the type of data that you encode in a PDF417 symbol as well as the amount of error correction capacity that you choose to use in a PDF417 symbol.

For general binary data with no error correction enabled, a single PDF417 symbol can hold up to 1108 bytes. If the data consists of all numeric digits, then a single PDF417 symbol can hold up to 2725 digits. If the data consists of alphanumeric data, you can encode a maximum of 1850 bytes. If you have a mix of alphanumeric and binary data, the capacity will be somewhere between 1108 and 1850 bytes and will depend on the content of the data.

All of our bar code software products use an extremely efficient encoding algorithm that will squeeze the maximum number of bytes possible into a PDF417 symbol however it still must work within the limits of the symbology specification.

You are generally free to use any type of bar code that you like and encode whatever data that you like for applications in a closed system.
If you want to place bar codes on retail items that will be commercially distributed (e.g. UPC or EAN bar codes), you will need to apply for a manufacturer number from the Uniform Code Council in the USA, Tel: 937-435-3870. If you plan to distribute your products outside of the United States then you need to apply for a manufacturer code from EAN International in Belgium. Tel: 011-32.2.227.10.20