What is the Difference Between Code 39 and Code 128?

Code 39 and Code 128 are both 1D barcodes that support both numeric and alpha data. They are widely used in non-retail environments, such as library books, membership cards, small items, etc. In this article, we will compare the two barcodes and help you understand the differences between them.

Scan Code 39 and Code 128 Online >

Code39 vs Code 128

Code 39 vs. Code 128 Comparison Table

What is the Difference Between Code 39 and Code 128?

  • A Code 128 barcode can encode a full 128 ASCII character set. A Code 39 barcode encodes 39 characters in total.
  • Code 128 has a higher density than Code 39.
  • Code 39 does not include a check digit, while Code 128 does.

Here is a detailed comparison table:

Barcode TypesCode 39Code 128
DensityModerate densityHigh density
Character SetAlphanumeric 
Code 39 also support these characters: Percent sign (%), Plus sign (+), Dollar sign ($), Slash mark (/), Period (.), Hyphen (-)
Full ASCII
Maximum CapacityUnlimited (Usually contains 20 to 23 alphanumeric characters)Unlimited (Usually up to 48 alphanumeric characters)
Error DetectionCode 39 is self-detection, a check digit normally isn't necessaryCode 128 has a modulo-103 check digit to detect error
Error CorrectionCode 39 does not support error correctionCode 128 has a mandatory error correction character
Usage Scenarios
  • Asset labeling
  • Library books
  • Membership cards
  • Internal inventory tracking
  • Supply chain
  • Serial shipping container codes

Capacity

A Code 39 barcode encodes 39 characters in total. However, in its most recent version, the character set has been increased to 43.

A Code 128 barcode is more powerful because it can encode a full 128 ASCII character set. To encode all 128 characters, Code 128 consists of three subsets A, B, and C.

Density

The most significant difference is that Code 128 has a higher density than Code 39. Generally, a high-density barcode means it can be printed clearly. It is not always easy to decode a low-resolution barcode image. Therefore, Code 128 might be the better choice in many scenarios because of its excellent density and a much larger selection of characters.

Check digit

One advantage of Code 39 is that it can be easily integrated into an existing barcode printing system because Code 39 does not include a check digit.

Take the Next Step

We hope this helps you to determine which barcode type you are going to choose. Now it’s time to read the barcodes. You can download Dynamsoft Barcode Reader to implement barcode reading functionality into your application.

After downloading the Dynamsoft Barcode Reader, you can start your free 30-Day trial and Try Online Demo of Barcode Scanner.

A series on different types of barcodes

If you’d like to compare other barcode types, please check out our online barcode comparison tool.