Request A Quote

Need a laugh?

 

You might also be interested in

  • Total: 3
  • Total: 3

Barcodes: The Good, The Bad, and The Unscannable

Today’s barcodes come in many flavors and forms. Choosing the right one requires you to make some decisions and sometimes some compromises. This article is a brief overview of how barcodes work, the pros and cons of common ones, and factors that will affect your decision of which barcode to use.

Barcode types

This table shows example barcodes in both linear and 2D and how they represent the same data. Linear barcodes are meant for basic character sets. That is why Code 39 and Code 128 do not represent the website address (well).

Barcode Type Text of the barcode
CodaBears https://codabears.com
Code 128 Code 128 barcode representing "CodaBears"  
Code 39 Barcode 3 of 9 representing "CodaBears"  
Data Matrix DataMatrix barcode representing "CodaBears" DataMatrix barcode representing "https://codabears.com"
Micro QR Code MicroQRCode representing "CodaBears" Micro QR Code representing "https://codabears.com"
QR Code QR Code representing "CodaBears" QR Code representing "https://codabears.com"
PDF417 PDF417 code representing "CodaBears" PDF417 code representing "https://codabears.com"

Linear (1D)

Linear barcodes are composed strictly of lines. Think of the barcode on a cereal box, a book or a magazine. The lines may vary in width to indicate different letters and numbers. The checkout scanner reads the code to identify the product. Once the product is identified, it looks up the price for the product so that you can check out.

Code 128

This is a high-density symbology that encodes text, numbers, functions, and the entire 128 ASCII character set. This can also be referred to as ISBT-128, GS1-128, UCC-128, EAN-128, and USS Code 128. This type of barcode has a start character, the data, a check character, and a stop character. You can switch between character sets so that you can represent characters beyond the simple 128 characters. This is typically a highly reliable barcode.

Code 128 barcode representing "CodaBears"

GS1-128 uses the Code 128 barcoding style but has additional specifications for the size of the barcode, the specific start and end characters, and an Application Identifier number.

This barcode type can expect an error every 2.8-37 million reads.

Code 39

Code 39 is also known as Code 3 of 9. This code type is used for various labels like name badges, inventory, and industrial labels. Code 39 can represent numbers (0-9), upper-case letters (A-Z) and some extra symbols (- . $ / + %). This symbology is widely-used and is compatible with many hand-held scanners. Since everything in a Code 39 barcode can be represented by a keyboard, these are often used for anything that could be typed – as long as you stick to the characters available. For example, Code 39 cannot product a space character in the barcode.

  • It is possible to get false reads with this symbology.
  • This barcode is sometimes implemented as a font, which makes it very easy to include in reporting.
  • Depending on the size used, your output may or may not be readable or represent the full string. Long strings are often very long barcodes when using Code 39. You should always test your barcodes when using a font to make sure the size is sufficient to represent your data.
  • This barcode type can expect an error every 1.7-4.5 million reads.

GS1-Databar

Sushi with a barcode on itThis is an expanded barcode symbology use for POS systems that can replace UPC and EAN barcodes. GS1-Databar is used where traditional barcode types are too big such as grocery or healthcare where the item may be too small to use a conventional barcode. Other information can also be encoded into a GS1-Databar such as weight, expiration, or serial numbers. This has a lower chance of scanning errors due to a larger checksum used than in traditional UPC and EAN symbols. GS1-Databar also scans faster than traditional UPC and EAN symbologies.

Interleaved 2 of 5 (ITF)

If you are only representing numbers, then Interleaved 2 of 5 is an option. This is a self-checking, high-density barcode format. Every two digits are interleaved with each other to create a single symbol. Because of this interleaving, an even number of digits is required. This even number can be accomplished by using a leading zero when an odd number of digits are present. Code 128 handles both odd and even number of digits. It does require minimum height and width for the barcode.

ISBN

ISBN barcodes are specific to the book industry. You see them on the backs of books.

SSCC-18

Serialized Shipping Container Codes are commonly used for shipping containers and referred to as SSCC-18. These are typically coded in a GS1-128 barcode. You can think of this as a license plate to identify and track shipments through the supply chain. Specific formatting and placement may be required when using this barcode type.

UPC, EAN, & GTIN

These types of codes have been in use since the 1970s to encode information to uniquely identify a product for retail checkout or tracking purposes. UPC, UCC, EAN, JAN, GTIN-8, GTIN-12, GTIN-13, ISBN, and Bookland barcodes all use the same symbology type and are referred to as UPC/EAN barcodes.

GS1 Databar provides the same functionality as UPC and EAN barcodes but has more capabilities.

  • Small size and quicker scanning
  • Traceability and product recall capabilities
  • Better sell-by and expiration date management
  • Less chance of scan errors than UPC and EAN symbols
  • This barcode type can expect an error every 394,000 to 800,000.

USPS Postal

Intelligent Mail combines zip code and tracking data into one barcode symbol and is the preferred USPS barcode. This provides better address information for delivery as well as being able to track the package through the shipping process. This barcode was made for use in high-speed, automated, mail-sorting machines.

2D Codes

2D codes (sometimes all grouped as QR codes) store data in both a horizontal and vertical direction. You’ll find these on UPS and Amazon packages, in advertising to link to a website, and other applications. They have several advantages over 1D or Linear barcodes:

  • Store more data – 2D codes can typically store 1000s of characters and be used to include combinations of data such as serial numbers, website links, and other information
  • Smaller size – this lets the code be used on smaller applications such as vials and medication packets; often these can be scanned from a greater distance
  • Error correction – these codes implement error correction that can recover missing or damaged data; linear codes are more susceptible to data loss or misinterpretation; higher error correction may reduce the amount of data that can be represented
  • Security – information can be encrypted in the code protecting it from unauthorized access
  • Efficiency – can be used to streamline processed and reduce errors; the codes are quicker to read and can be read at high speed

These types of barcodes are used in many industries including automotive, marketing, advertising, and manufacturing.

Aztec

These appear as squares with a finder pattern in the middle of the symbol. This finder helps the scanner determine the cell locations to decode the symbol. Aztec can represent characters, numbers, text, and bytes of data. These are approximately 30 times smaller than a Code 39 barcode representing the same data.

Data Matrix

Data Matrix is a very efficient symbology that uses a small area of square modules with a perimeter pattern. This perimeter pattern helps the scanner determine cell locations and decode the symbol. Data Matrix can encode characters, numbers, text, and actual bytes of data including Unicode characters and photos.

  • The error correction algorithm can allow recognition of barcodes that are up to 60% damaged!
  • You can expect an error every 10.5-612.9 million reads.

Maxicode

Maxicode is an international 2D barcode that is used by UPS on shipping labels for worldwide addressing and package sorting. These are a fixed size and made of offset rows of hexagons arranged around a finder pattern. With error correction, the symbol can be decoded when it is slightly damaged.

MicroPDF417

This is a 2D, multi-row symbology that can encode up to 150 bytes. To put that in perspective, that is roughly 250 text characters, 150 binary characters, or 366 numeric digits. This is not a common symbology and your scanner may not support it or need additional configuring to support it.

PDF417

Large amounts of text and data can be securely stored in PDF417 symbology. The printed symbol consists of several linear rows of stacked codewords. Because the codewords in each cluster are unique, the scanner can determine what line each cluster is from. It is recommended to keep the amount of data to 800 characters or fewer in each PDF17 barcode.

PDF417 code representing "https://codabears.com"

QR Code

Yes, there really is a 2D code that is QR Code! This 2D barcode is similar to Aztec and Data Matrix and is capable of storing large amounts of data. QR means Quick Response. Data can include alphabetic characters, text, numbers, and URLs. The symbology is an area of square modules with a unique perimeter pattern that helps the scanner determine cell locations to decode the symbol.

They are commonly used to direct users to websites (by scanning the code on their mobile device), providing a Wi-Fi SSID, or encoding product or contact information. You’ll often find this in use on smartphone devices to display anything that is normally printed with a barcode: tickets, passes, and coupons. The QR Code is displayed on the smartphone screen and can be scanned from the screen.

A couple cool things you can do with QR Codes is put your logo into the graphic or change the colors. This can make for more interesting marketing materials and create interest.

QR Code with gradient colors and the CodaBears logo in center.  This code links to https://codabears.com
Gradient colored QR Code with YouTube logo in center.   Links to the CodaBears YouTube channel.
Gradient colored QR Code in the shape of a movie camera.  This links to the demo of Job Packet Printer

Factors Determining which Barcode to Use

Customer/Partner

Who you’re sharing barcodes with may require you to use a specific barcode type. Although you may be able to talk them into something else, they may have hardware or other limitations that prevent them from using something other than their specification. But hey, it’s worth asking.

Software Used for printing

If you need to create just a single barcode and put it on something, there are websites that will generate the code for you such as QRCodeChimp

If instead, you need to dynamically create the barcode based on parameters, then you need a tool that allows you to change the barcode on the fly. Bartender and SSRS are good tools for this. SSRS is free with Microsoft SQL Server, and there are free fonts available for doing basic barcoding. Tools like ID Automation help generate more complex barcodes.

Printer

Depending on the symbology and the amount of information, you may need a 600 dpi printer to ensure that parts of the barcode are not printed too closely, making them difficult to scan. For example, printing a 26-character part number on a dot-matrix printer may not be a good choice. You should always test barcodes on the printer and media you’ll be using to ensure they are readable by the scanner you’ll be using.

Scanners

Different scanners support different symbologies. Before you decide on a symbology, make sure you have a scanner that will support it. Some scanners can switch symbologies by scanning a “programming code” that is usually provided on a paper included with the scanner. This allows you to switch or include a different symbology. If your scanner is older, it may not support the new 2D barcodes.

If you are scanning from a mobile device, you may need to make sure the scanner can read from the screen, like for a concert pass. Some scanners require the brightness or contrast to be at a certain level to read from the screen. Make sure your scanner can handle different brightness levels. Your patrons may not know how to change their phones and that could slow down entrance to your event.

The obvious answer to some of the issues is “buy new scanners.” You may not have the budget to replace the equipment you already have in place.

Available Size

Where are you putting the barcode? Is it going on a 2"x2" label, a 4"x6" label, 8.5"x11" paper two-stories up on an inventory shelf, or on the side of a cargo trailer? Putting a Code 39 onto a 2"x2" label probably isn’t going to be successful as there just isn’t enough space to put the barcode and a size that is readable from a reasonable distance. If you need to scan something that is 12' away, perhaps a 2D code will be a better option since it can be scanned from further away. And remember, just because you have a lot of space on the media, you don’t have to use it all. Implementing barcodes gives an option to re-evaluate the media you are using, and switching to a different media that is more cost-effective might be an option! Scan that barcode on the exact media you are going to be using! There may be something particular to the combination of media and symbology that causes a problem. Smeared linear codes are not good for scanning.

What Information goes into the Code?

What information are you representing? Do you just need a part number? A part number with an assembly and revision? A URL? A URL, phone number, contact information, and biography? Each symbology has its limitations on the amount of data that can be displayed. Make sure you test with the larges amount of information that you will use in the barcode so that you know it can be represented and scanned. (Yes, don’t forget to test scanning it as well.)

Environment

Where are these barcodes going to be used? Putting a paper label on something that will be submerged in water is not going to help you. Are you in an industrial environment that is hot? Then labels using thermal printers aren’t going to be an option. Is there a lot of oil in the environment? Those oils may cause the inks to smear on the labels before they can be scanned. Will the label be handled by human hands, or automated machines a lot? If so, you want to make sure the ink is durable and doesn’t rub off during the rest of the manufacturing or handling processes.

Font vs Graphic

Some barcodes can be represented by fonts. This is a very easy way to implement barcodes! Just change your font to the barcode font and you’re making barcodes in no time. But using a font may lead to readability issues. For example, if you only have so much space to print the barcode, and your text would overflow the line, what happens to the rest of the barcode? Does the font decrease (in which case, make sure you can scan it at the lower font size)? Does it strip the rest of the characters (now you only have part of the barcode and can get incorrect or no information)? Does it wrap it to the next line (again, an unusable barcode)?

Sometimes representing the barcode as a graphic is a better solution. The graphic can be resized and continues to contain all the original information from the barcode. This can give you more control over the exact size you need for the barcode. Depending on how you create the label, this may also give you better control over the placement. You may need the barcode at exactly 1.316" in from the left and .0723" from the top. That may be difficult to do with a font, but rather easy with a graphic. Again, that can depend on what you are using to create the label.

Closing

Hopefully this helped expose you to some different barcodes, the differences between the Linear and 2D, and gave you some food for thought when choosing to implement barcodes so that you are successful. As with most things, there are a lot of choices, and depending on your specific situation and needs, what works for one person may be unusable for another. The best advice, do what works for YOU, and make sure you test, Test, TEST so that you know your implementation works.

All barcodes shown were generated using ID Automation and none were harmed in the writing of this article.

References

- last updated February 4, 2025

Privacy Settings

This site tracks visits anonymously. Close this dialog to confirm you are happy with that, or find out more in the Cookies and privacy policy here.