Barcoding for Beginners & Barcode FAQ

Barcode Information | Tutorials | Examples

Barcode FAQ & Tutorial

History of Barcodes

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 physical.

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.

One of the most common barcode types for point of sale (POS) in the USA is the UPC code. UPC is a very old barcode type from the 1970s that encodes GTIN-12. DataBar is a smaller and more capable barcode type that may be used instead of UPC. IDAutomation recommends using DataBar instead of UPC when possible.

IDAutomation also offers a list of several popular barcode types and how to identify them.

Choosing the Best Barcode Type 

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, QR Code, 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 densest, 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, QR Code, or Data Matrix barcodes.

When barcodes are scanned from the screen of a mobile device or sent via fax, the following is suggested:

  • After evaluating several popular barcode types, Data Matrix is the most dependable for the smallest amount of space. Compared to Code 39 encoding the same data, Data Matrix is approximately 30 times smaller in symbol size. This comparison may be seen visually in the Barcode Symbology Evaluation and Test Sheet.
  • QR Code is also a very popular symbol. The QR stands for “Quick Response”, which was important when it was designed in the 1990s. However, today decoding processors are much faster and all barcode types decode at about the same speed, which seems instantaneous.
  • If DataMatrix or QR Code 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 processors 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 Data Matrix and QR Code 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 and supports UTF-8. When scanning the data, the barcode scanner must be able to read all 256 bits of each byte. Most USB and keyboard wedge barcode scanners do not support extended characters above ASCII 128 so they cannot dependably decode binary data. 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 larger than it would be with BASE256 or BINARY encoding. Base 64 encoding is used for invoicing in some Arabic countries for this purpose.

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. Most USB barcode scanners 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 manufacturers 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 similarly 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.

Linear and 2D Barcode Symbology Evaluation Chart
 Code 39 without check digit:

Aztec Barcode

Code 128 Auto:


Data Matrix ECC200 with ASCII encoding mode:

 PDF417 in Text encoding mode:

QR-Code with Error Correction L

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: