Here is some information that will give you a basic introduction to barcodes.

How does a barcode work?
Each character is represented by a pattern of wide and narrow bars. A barcode reader uses a photosensor to convert the barcode into an electrical signal as it moves across a barcode.  The scanner then measures the relative widths of the bars and spaces, translates the different patterns back into regular characters, and sends them on to a computer or portable terminal.

Every barcode begins with a special start character and ends with a special stop character. These codes help the reader detect the barcode and figure out whether it is being scanned forward or backward.

Some barcodes may include a checksum character just before the stop character. A checksum is calculated when the barcode is printed using the characters in the barcode. The reader performs the same calculation and compares its answer to the checksum it read at the end of the barcode. If the two don’t match, the reader assumes that something is wrong, throws out the data, and tries again.

There are different barcode symbologies, each with its own particular pattern of bars. The UPC code used on retail products is an all-numeric code; so is the Interleaved 2 of 5 Code. Code 39 includes upper case letters, digits, and a few symbols. Code 128 includes every printable and unprintable ASCII character code.

What’s a 2-D code?
2-Dimensional symbols are generally square or rectangular patterns that encode data in two dimensions.  They fall into two general categories:  ‘Stacked barcodes’ are constructed like a layer cake of barcodes stacked on on top of the other; they can be read by special 2-D scanners or by many CCD and laser scanners with the aid of special decoding software.  ‘Matrix Codes’ are built on a true 2-D matrix; they are usually more compact than a stacked barcode, and they can be read only by a true 2-D scanner.  The primary advantage of 2-D codes is the ability to encode a lot of information in a small space.  The practical limit for a standard barcode depends on a number of factors, but 20 to 25 characters is an approximate maximum; 2-D symbols can encode from 100 to about 2,000 characters.  The next time you receive a package from United Parcel Service look for a 1-inch square label with a pattern of dots and a small bullseye in the center. This is a MaxiCode label, and it is used by UPS for automatic destination sortation.  Two other popular 2-D codes are PDF-417 and DataMatrix.

What barcode symbology should I use?
Are there any industry standards that your codes will have to conform to, or is an important customer insisting on a specific label format?  If so, you will probably have to use whatever barcode they want.  If you are marking a retail product, UPC-A is the code used in the USA and EAN-13 is used in the rest of the world.  If you are shipping containers to the U.S. Government you will need to adhere to the LOGMARS specification (which uses Code 39). If the application is strictly for internal use and you can choose anything you want, do you now or will you ever need to encode letters as well as numbers? If so, Code 39 or Code 128 would be a good choice. If you need only numbers, Interleaved 2 of 5 would do the job although Code 128 tends to be more robust and just as compact for numeric data.  If you have to encode a lot of data, take a look at PDF-417.  If you need to squeeze a small or modest amount of data into a really small space, then DataMatrix might be a good choice.  Depending on the details of your application there may be other codes to consider. 

How do I get a retail code for my new product?
In the USA, the first thing you need to do is get a manufacturer’s ID number which will uniquely identify your products. These numbers are managed by the Uniform Code Council in Dayton, Ohio. Contact them by telephone at 937-435-3870 or by fax at 937-435-4749; you can also visit their web site at http://www.uc-council.org. Your manufacturer’s ID number accounts for 5 digits of the UPC code, which leaves you 5 digits to assign in any way you want. You will need to provide retail outlets with a list of your products and their assigned UPC codes so they can be entered in the cash register system.

If you are selling products outside the USA, you will probably need an EAN-13 code.  These numbers are assigned by registration authorities in most countries; you can find the EAN authority for your area on our list of standards organizations.  You can also visit EAN World Headquarters in Belgium at http://www.ean.be.