About Code 128 Barcodes
Code 128 is a highly versatile, high-density 1D linear barcode symbology capable of encoding all 128 characters of the ASCII character set. Introduced in 1981, it is designed to hold complex alphanumeric data, including letters, digits, punctuation, and control codes. It is widely regarded as one of the most efficient linear barcodes because it automatically switches between three character subsets (A, B, and C) to optimize data density and keep the barcode's physical width as narrow as possible.
How Code 128 Encoding Works
Code 128 achieves high data density by dividing the ASCII character set into three subsets. Subset A includes uppercase letters, numbers, and control characters; Subset B includes uppercase/lowercase letters and standard text; Subset C packs numeric pairs into a single barcode character (double density). The symbology includes a start code, data characters, a modulo-103 check digit for error detection, and a stop code. This internal checksum makes Code 128 extremely secure, with an error rate of less than one in a million characters read.
Common Applications and Industries
Code 128 is the standard barcode for logistics, transportation, and supply chain management worldwide. It is the basis for the GS1-128 shipping labels used by couriers, retailers, and postal services. It is also used in manufacturing, asset tracking, inventory administration, library systems, and payroll processing. Its ability to encode both letters and numbers makes it suitable for serial numbers, batch numbers, tracking IDs, and container codes.
Advantages & Limitations
Code 128 is extremely efficient, storing large amounts of text or numeric pairs in a compact linear format. Its support for the full ASCII character set offers total flexibility for data encoding. The built-in modulo-103 checksum provides superior scanning reliability. The main disadvantage is that as the length of the encoded text increases, the barcode becomes physically wider, which can make scanning difficult. For massive amounts of data, 2D barcodes are preferred.