Barcode Basics

Barcodes 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 barcode 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. barcodes 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 barcode reader decodes a barcode by scanning a light source across the barcode 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 barcode pattern. This signal is then decoded back to the original data by inexpensive electronic circuits. Due to the design of most barcode symbologies, it does not make any difference if you scan a barcode from right to left or from left to right.

The basic structure of a barcode 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 barcode 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 TAL barcode ActiveX control and the TAL barcode 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 barcode symbologies can encode variable length alphanumeric data up to about 30 characters in length. These types of barcodes are called “linear symbologies” because they are made up of a series of lines of different widths. Most commercially available barcode scanners are able to read all of the different linear barcode symbologies therefore you do not need different readers for different types of barcodes.

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

The primary purpose of a barcode is to identify something by labeling the item with a barcode containing a unique number or character string. barcodes are typically used with a database application where the data encoded in the barcodes 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 barcode on a product in a grocery store, the barcode 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 barcodes, 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.

barcodes also provide a quick and error free means for inputting the data into an application running on a computer. By using barcodes, the potential for errors from manual data input is eliminated. Another typical application for barcodes is therefore for inputting data without having to type. For example you could encode name or address data in a barcode 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 barcode 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 barcodes.

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 barcode 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 barcode 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 barcode that you like and encode whatever data that you like for applications in a closed system.

If you want to place barcodes on retail items that will be commercially distributed (i.e. UPC or EAN barcodes), 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

Contact Us