How To Choose a Barcode Symbology

Getting Started

One of the most frequently asked questions is, “How do I choose a barcode symbology?” Sometimes the answer to this is simple, and sometimes it is more complex. The simple solutions come when you are printing a label that has a standard or specification tied to it. Most of the time, there is a mandate as to what symbology you need to use. Other times, you are open to what symbology you can choose, and factors such as available space and the amount of data encoded help choose for you.

1D or 2D barcode is another question that we frequently face. We at EMP have strongly recommended for years now that any barcode scanner we sell be an imager capable of reading both barcode types. The cost difference between the two is small, and you are future-proofing yourself with an imager, even though you may only need to read 1D barcodes for now. Not to mention that you can read any code from any orientation with an imager and are not worrying about lining up a thin beam on a 1D barcode.  This can drastically reduce scanning times.

There are many, many barcode symbology’s out there, we are only going to cover the main ones in this document.


Both an easy barcode to discuss and a confusing one. First, this is the standard barcode symbology on all consumer goods. The one that is scanned at the cash register. It used to be called UPC (Universal Product Code) but was changed to GTIN (Global Trade Item Number) in 2005. Also, the governing group was changed from the UCC (Uniform Code Council) to GS1 (Global Standards 1). It started as a way for suppliers to get a unique UPC number for goods sold through retailers in the US.  It is now much more widely used for barcode standards in many industries around the globe.  This is a 1D code that is only good for numeric data and should only be used on consumer goods selling through retail.

Example of UPC barcode symbology

Code 3 of 9

Also called Code 39, it is more correctly called Code 3 of 9 because each character in the barcode is made up of 3 wide and 6 narrow bars; hence 3 of 9 are wide. This is a 1D barcode symbology that can encode alpha, numeric, and special characters. The first widespread use of this code was by the auto manufacturers in their AIAG (Auto Industry Action Group) standards for labels used by all auto suppliers.  Many other industries copied this standard, and the proliferation of Code 3 of 9 resulted.  Code 3 of 9 is very reliable since it has a * for a start and stop character that must be present for the code to be read. Check digits can also be added to the code for additional security. But it is not the most efficient code for packing data. The codes can get very long and difficult to scan if you have a long data string such as a vehicle VIN number.

Example of Code 3 of 9 barcode symbology

I 2 of 5

The quick answer is “Do Not Use.” It is an efficient code since it Interleaves the date (the I in the name) with some data in the bars and some in the spaces. But it is the least secure symbology and is prone to partial reads or substitution errors. It also is only suitable for numeric data. We do not see it often anymore; the pharma industry used it for serial numbers and the packaging industry as an option for case coding.

Example of I 2 of 5 barcode symbology

Code 128

This is the best 1D barcode symbology that you can use. It compacts the data very well and will encode alpha, numeric, and special characters. This code uses three different bar widths to help with the code density, allowing you to spot this symbology versus Code 3 of 9 easily. One challenge is that the code can grow in length if you encode alpha or special characters. Numbers have a fixed length, and you can easily predict the overall length of the barcode, but every time you throw an alpha or special character in the code, the symbology inserts a switch function character that takes up more space. This can be troubling when you have a finite amount of space to print the code on the label and your data mix between alpha and numeric is not consistent, such as in an Auto VIN.

Example of Code 128 barcode symbology

PDF 417

PDF here stands for Portable Data File, a hybrid bar code that uses 1D and 2D code elements. If you look at the code, you will see standard 1D bars on both sides of the code and individual square elements of a 2D barcode. You can even read this code with a rastering 1D scanner, but it is not recommended. When to use this code is easy when you need to get a lot of data into your bar code. The most common use case is the back of a driver’s license. All the data on the front side of the license is encoded in the PDF417 barcode on the back. But this code can be challenging to read; it is large and has a lot of data, so your barcode scanner may struggle to get all the code in the reading window and decode and transmit all the data quickly. Also, we recommend keeping your data in a database and not in your barcodes. Instead, scan in an easier-to-read barcode with a unique serial number and look up the data in the database.

Example of PDF 417

QR Code

QR (Quick Response) code is one of the more misunderstood barcodes. It is a 2D barcode and can encode all character types in a very compact-sized barcode. The secret to its quick reads is the three larger squares in the corners of the code, making it very easy to identify this barcode symbology. Initially invented by Denso, a division of Toyota, in 1994, it has been around longer than most people know. Besides the UPC, this is probably the most seen and used barcode by the general public. Its ability to be quickly read by the camera on a smartphone led to its widespread use in advertising. This is the code that we see misused the most. The application often calls for a Data Matrix code and a QR code is being used instead. QR and Data Matrix codes do have a limitation on the number of characters that can be encoded. Generally, QR Codes are not as secure and redundant as Data Matrix.

Example of QR Code

Data Matrix

We saved the best for last! Not the easiest code to read with a smartphone, but one of the most frequently used codes in manufacturing. There is a reason most direct part mark barcodes are Data Matrix; it has the most redundancy and is the most likely to be readable when the conditions are tough or when there are blemishes in the code. Many standards, such as military and pharmaceutical, specify Data Matrix for its ability to encode large amounts of data into a small code and be easily read with a bar code scanner. Data Matrix is also good to use for its data integrity. We have even used large Data Matrix codes for long-range uses such as top racking in a warehouse. If you can choose any barcode that you want and your scanners are capable, choose Data Matrix.

Example of Data Matrix barcode


Yes, we skipped a lot of barcodes. MaxiCode, used by UPS, stands out, but it is only used in that one application by that company, so we skipped it. Also, PostNet, Code 93, Code 49, and Code 16 are all used infrequently, in specialized applications, or not at all anymore. We also skipped all the standards and data identifiers. But we will gladly discuss all of this and more with you. Contact us today to see how we can help!

Still have questions? Contact our team to get answers.

Contact Us