Barcode FAQ & Tutorial
- What is a barcode? – video
- Barcode History and Purpose
- Barcode Educational Guide – pdf document
- Barcode Types, Symbologies and Standards
- Choosing the Best Barcode Symbology
- Choosing the Best Barcode Type for Printing
- Reading Barcodes
- Barcode Area Efficiency
- Barcode Accuracy and Misreads
- How to Identify a Specific Barcode Symbology
- Basics of Barcode Fonts
- Video Training Tutorials
- Conversion Table and Specifications for MILS, CM and Inches
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.
The type of barcode that should be used may depend on several variables, including the following:
- Standards and mandates
- Purpose and use
- Data encoded
- 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:
|Established Standard||Purpose||Barcode Symbology|
|ABC Codabar||blood bank tracking||Codabar|
|AIAG||automotive item identification||Data Matrix|
|DOD UID||unique identifier for US Department of Defense||Data Matrix|
|EAN-8 & EAN-13||items for sale worldwide||UPC/EAN *|
|EAN-14||shipping cartons||Interleaved 2 of 5 or Code 128|
|GTIN||global trade identification||Code 128|
|GTIN-12||global trade identification||UPC *|
|GTIN-13||global trade identification||EAN *|
|GTIN-14||global trade identification and POS||GS1-DataBar|
|ISBN, ISSN & Bookland||books and periodicals||EAN-13 with UPC/EAN|
|LOGMARS||US Department of Defense||Code 39|
|MIL-STD-130||US Department of Defense||Data Matrix|
|SCC-14||shipping cartons||Interleaved 2 of 5 or Code 128|
|SISAC||serial numbers for serial publications||Code 128|
|SICI Code||serial numbers for serial publications||Code 128|
|ISBT-128||blood, tissue and organ products||Code 128|
|SSCC-18||shipping cartons||Code 128|
|USPS Special Services||US mail special services||Code 128|
|UCC12, UPC-A & UPC-E||items for sale in the USA and Canada||UPC *|
|USPS Intelligent Mail||USPS mail routing and tracking||4 State|
* Beginning January 1, 2010, GS1 DataBar may be used in place of all UPC and EAN barcode types for POS.
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:
- Crystal Reports
- Open Office & Star Office
- Oracle Reports
- Reporting Services
- C# .NET
- Visual Basic 6 and VB.NET
- Web Barcode Implementation
Once it is determined which product to use for the printing of barcodes, the following suggestions may help in selecting the barcode symbology:
- 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.
- 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.
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.
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.
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.
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:||Code 128 Auto:|
|Aztec:||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.
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 Type||Worst Case Accuracy||Best Case Accuracy|
|DataMatrix||1 error in 10.5 million||1 error in 612.9 million|
|PDF417||1 error in 10.5 million||1 error in 612.4 million|
|Code 128||1 error in 2.8 million||1 error in 37 million|
|Code 39||1 error in 1.7 million||1 error in 4.5 million|
|UPC||1 error in 394 thousand||1 error in 800 thousand|
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: