What is the code in bar code?

A barcode is a square or rectangular image consisting of a series of parallel black lines and white spaces of varying widths that can be read by a scanner. Barcodes are applied to products as a means of quick identification. They are used in retail stores as part of the purchase process, in warehouses to track inventory, and on invoices to assist in accounting, among many other uses.

Two Kinds of Barcodes

There are two general types of barcodes: 1-dimensional (1D) and 2-dimensional (2D).

1D barcodes are a series of lines used to store text information, such as product type, size, and color. They appear in the top part of universal product codes (UPCs) used on product packaging, to help track packages through the U.S. Postal Service, as well as in ISBN numbers on the back of books.

2D barcodes are more complex and can include more information than just text, such as the price, quantity, and even an image. For that reason, linear barcode scanners can’t read them, though smartphones and other image scanners will.

There are more than a dozen barcode variations, however, depending on the application.

Barcode History

The concept for the barcode was developed by Norman Joseph Woodland, who drew a series of lines in the sand to represent Morse code, and Bernard Silver. A patent was granted in 1966 and NCR became the first company to develop a commercial scanner to read barcode symbology. A pack of Wrigley’s gum was the first item ever scanned, at Marsh’s supermarket in Troy, Ohio, NCR’s hometown.

Business Benefits

Barcodes were developed to improve the speed of sales transactions, but there are other potential benefits to businesses, including: 

  • Better accuracy - Relying on a barcode to process data is far more accurate than relying on manually-entered data, which is prone to errors.
  • Data is immediately available - Because of the processing speed, information about inventory levels or sales is available in real time.
  • Reduced training requirements - Thanks to the simplicity of the barcode scanner, employees need little in the way of training in how to use it. Additionally, thanks to barcodes, there is much less for employees to have to learn and retain.
  • Improved inventory control - Being able to scan and track inventory yields a much more accurate count, as well as a better calculation of inventory turn. Companies can hold less inventory when they know how soon they will need it.
  • Low cost implementation - Generating barcodes is quick and easy, as is installing a barcode system. Potential savings can be realized almost immediately.

The industrial use of barcodes can be traced back as far as the 1960s, in some cases as a means to identify railroad cars. Common linear barcodes started appearing on grocery shelves in the early 1970s as the UPC barcode to automate the process of identifying grocery items. Today, barcodes are just about everywhere and are used for identification in almost all fields of business. When barcode technology is utilized in business processes, procedures are automated to increase productivity and reduce human error. Barcoding should be used whenever there is a need to accurately identify or track something.

Barcode Types, Symbologies & Standards

The type of barcode that should be used may depend on several variables, including the following:

  1. Standards and mandates
  2. Purpose and use
  3. Data encoded
  4. Printing and/or decoding methods

There are several different types of barcode standards for different purposes – these are called symbologies. Each type of symbology (or barcode type) is a standard that defines the printed symbol and how a device, such as a barcode scanner, reads and decodes the printed symbol.

If an industry standard has already been established for the intended implementation, the standard should be implemented. If a standard does not exist for the chosen implementation, several symbologies are available to choose from.

Industry standards are usually established when multiple parties or companies are involved in the ID process. The standard is not necessarily the same as the barcode symbology. Barcode standards define how to use the barcode symbology in a particular situation. For example, the two standards to create ISBN barcodes for books and generate ISSN barcodes for periodicals both use EAN-13 to encode data into the barcode, but have different methods depending on the specific ISBN & ISSN standards.

The chart below includes a few established barcode standards and what they are used for:

Established Barcode Standards:

* Beginning January 1, 2010, GS1 DataBar may be used in place of all UPC and EAN barcode types for POS.

IDAutomation also offers a list of several popular barcode symbologies at the barcode FAQ site and information about how to identify the various symbologies.

Choosing the Best Barcode Type for Printing

IDAutomation offers several Application Integration Guides that suggest one or more options for integrating barcodes. The integration options should be examined to determine whether to implement components, applications or barcode fonts for printing. A few of the Barcode Integration Guides offered include the following:

Once it is determined which product to use for the printing of barcodes, the following suggestions may help in selecting the barcode symbology:

When using Barcode Components or Applications for printing a certain number of characters, the following is suggested:

  • When encoding uppercase and/or lowercase letters, numbers, punctuation, any letter or symbol appearing on the standard U.S. keyboard and lower ASCII functions such as returns and tabs, up to about 40 digits, use Code128. All of IDAutomation’s barcode components and applications support Code 128 as the default barcode type.
  • When encoding several lines of data of any type over 40 characters, it is suggested to use the PDF417 or Data Matrix barcodes.

When using Barcode Fonts, the following is suggested:

  • When encoding only numbers, up to about 30 digits, choose Codabar Barcode Fonts. Codabar is the most dense, self-checking (easy-to-use) symbology.
  • When encoding uppercase letters, numbers and these symbols (- . $ / + %), up to about 20 digits, choose Code 39 Barcode Fonts. Code 39 is also a dense self-checking (easy-to-use) alpha-numeric symbology.
  • When it is necessary to encode uppercase and lowercase letters, numbers, punctuation and ASCII functions such as returns and tabs, up to about 40 digits, use Code 128 Barcode Fonts or the Universal Barcode Fonts.
  • When encoding any data of any type over 40 characters, use the PDF417 or Data Matrix barcodes.

When barcodes are sent via fax machine or are used in a low-resolution environment, the following is suggested:

  • After evaluating several popular barcodes, the Data Matrix barcode is the most dependable in a faxing environment. Data Matrix is one of the smallest and most dependable barcode symbologies. Compared to other barcode types, Data Matrix is approximately 30 times smaller than a Code 39 barcode representing the same data. This comparison may be seen visually in the Barcode Symbology Evaluation and Test Sheet.
  • If the DataMatrix barcode cannot be implemented, it is suggested to print the chosen barcode at the largest X Dimension (or size) as possible, which will usually allow the symbol to be read by a scanner.
  • When printing to thermal 203 DPI printers, special care must be taken to create accurate barcodes. Several knowledge base articles exist for the proper use of thermal printers:

When Barcode Applications are used, the following is suggested:

  • To create barcode images individually, save the images to a file or easily paste barcodes into other Windows applications, consider IDAutomation’s Barcode Image Generator. This application is commonly used to create barcode image files for Photoshop, Paint Shop Pro, Quark, CorelDraw, Word and other word processor and graphic applications where a single image can be printed several times without change.
  • To print barcode labels dynamically from a database or list with a label design application compatible with Windows, consider IDAutomation’s Barcode Label Software.

When encoding photos, arrays, binary data, Unicode, international or double-byte characters, the following is suggested:

A two-dimensional symbology (2D barcode) such as the PDF417 or Data Matrix barcode should be used to encode this type of data. 2D barcodes encode this type of data when the encoding mode is set to BASE256 or BINARY, which encodes all data, byte-by-byte. When scanning the data, the barcode scanner must be able to read all 256 bits of each byte. This usually means using the serial interface option (data bits have to be 8N) on the scanner, serial emulation over USB or another type of connection that allows all 256 bits of each byte to be transferred to the necessary application. Normally, keyboard wedge and USB barcode scanners (that emulate a keyboard) do not support extended characters above ASCII 128, and they only read characters that are actually on the keyboard. The scanner manual or vendor may need to be consulted for this type of implementation. Alternatively, the data may be converted to Base64 when encoded in the barcode and then back again when read. However, this requires additional programming and will create a symbol that is about four times larger than it would be with BASE256 or BINARY encoding.

When creating PDF documents, the following is suggested:

IDAutomation barcode fonts may be used to integrate barcodes into PDF documents, thus creating virus-free portable data files that can be viewed on all operating systems with a PDF viewer. The fonts have been tested and work with the following PDF conversion products:

  • Adobe Distiller Server works well with all of IDAutomation’s MICR, OCR and barcode fonts including symbol-encoded fonts.
  • Crystal Reports version 9 and above can create PDF documents with IDAutomation’s Barcode Fonts.
  • PDFLib is a library for generating PDF “on the fly” for programmers only. Runs on Mac, Windows and several Unix platforms in addition to EBCDIC-based platforms, such as IBM eServer iSeries 400 and zSeries S/390. PDFlib is especially well-suited for generating PDF on a Web server. PDFlib can generate PDF data directly in memory (instead of on file), resulting in better performance and avoiding the need for temporary files. This product was implemented by a client using IDAutomation’s PostScript Interleaved 2 of 5 Barcode Fonts with Redhat Linux 6.2.
  • PDF Machine is a simple print driver that permits the creation of a PDF document from any printable source. Version 6.2 supports printing the barcode font at small point sizes.

Reading Barcodes

One of the most common tools for reading barcodes is the hand-held barcode scanner. The barcode scanners recommended and sold by IDAutomation all have built-in decoders that can read several different barcode symbologies. There are a few low-priced scanners on the market, but they require complicated decoders. In the long run, after ordering and programming a decoder, more time will be spent using the decoder than if ordering a scanner with a built-in decoder.

Most of the barcode scanners sold by IDAutomation receive their power from the PC keyboard or USB port so no external power supply is required. When a barcode is scanned, the data is sent to the PC as if typed on the keyboard. To learn more about scanning barcodes, review how to scan barcode data into applications.

Most barcode scanners can read common linear symbologies such as Code 39, UPC, EAN, Code 128 and Codabar by default. Some scanner manufacturer’s ship new barcode scanners with most symbologies disabled, therefore, if a particular barcode cannot be read, make sure it is enabled in the scanner’s firmware. Not all scanners read barcodes that are printed at small X dimensions (the x dimension is the width of the narrow bar in the code,) so it is advisable to check the barcode scanner manual to make sure the scanner can read the small X dimensions.

The low-priced IDAutomation Plug ‘n Play USB Barcode Scanner performs similar to a laser scanner and reads very small barcodes. Barcodes of 4 to 32 mils in size and up to 4.2″ in width are easily read from a distance of 4 to 8 inches with this scanner.

Barcode Area Efficiency

Many situations may exist where the space a barcode occupies becomes a concern. The barcodes below are all encoding the same data of “BARCODE12345678” with the same narrow bar width or X dimension of .03CM or 12 mils. When creating small barcodes, the scanner must also be able to dependably read them. For example, the IDAutomation Plug ‘n Play USB Barcode Scanner reads both Code 128 and Code 39 at 6 points and above. The barcodes below may be printed from IDAutomation’s Symbology Test Sheet for testing purposes.

As seen in the examples above, the Data Matrix barcode is the most compact of the symbologies evaluated. However, it requires a 2D Barcode Imager or Image Reader to read the symbol. Several Imagers can easily read small symbols, such as the IDAutomation’s 2D USB Barcode Scanner that can read Data Matrix barcodes printed with the Data Matrix Font as small as 2.5 points, which is an X dimension of about .02CM or 8 mils. Data Matrix is also one of the most accurate barcode symbologies.

Barcode Accuracy & Misreads

The accuracy and amount of misreads of several different barcode symbologies were evaluated in a study at Ohio University Center for Automatic Identification. Studies indicate that a well-trained data entry operator will usually make a data entry error once every 300 keystrokes. Therefore, implementing even the least accurate barcode symbology is a huge step forward to increasing production and reducing data entry errors.

 Barcode TypeWorst Case AccuracyBest Case Accuracy
 DataMatrix1 error in 10.5 million1 error in 612.9 million
 PDF4171 error in 10.5 million1 error in 612.4 million
 Code 1281 error in 2.8 million1 error in 37 million
 Code 391 error in 1.7 million1 error in 4.5 million
 UPC1 error in 394 thousand1 error in 800 thousand

Conversion Table & Specifications

Specifications are provided by many types of barcode implementations. In some cases, the specifications of the barcode sizing parameters are given in inches, but need to be calculated in CM (centimeters) in the barcode tool. To convert inches to CM, multiply the value in inches by 2.54. To convert mils to CM, multiply the MILS (1 mil equals .001 inches) value by .00254.

Below is a chart that contains many common barcode dimensions:

 InchesMILsCM
 .0044.01
 .0066.015
 .0088.02
 .01010.0254
 .01212.03
 .01414.035
 .01616.04
 .0220.05
 .0440.1
 .44001
 .55001.27
 .757501.9
 1.0010002.54
 1.2512503.175