Symbology Guide: Code 128
Code 128 is a high-density linear barcode symbology used for alphanumeric, variable length barcodes. It can encode all 128 characters of ASCII and, by use of an extension symbol (FNC4), the Latin-1 characters defined in ISO/IEC 8859-1. Code 128 is very popular and has been widely implemented in many applications where a relatively large amount of data must be encoded in a relatively small amount of space. It is a modern symbology and was invented 1981 by Computer Identics. Code 128 includes 108 symbols: 103 data symbols, 3 start symbols, and 2 stop symbols. It uses so-called subsets that each allow for different character type combinations.
In Barcode Producer you can enter up to 60 characters for a Code 128 barcode. More data would make the barcode unreadable by most scanners. When you start entering data in Barcode Producer’s Code 128 panel, it analyzes your input and automatically chooses the best barcode subset with the highest data density. This is done by subset switching. You can also select a subset yourself from the Code Set popup menu.
In the latter case, there are three different internal subsets you can use:
- Code 128A supports numbers, upper-case letters, and control characters, such as tab and new-line characters
- Code 128B supports numbers, upper- and lower-case letters and some additional characters
- Code 128C supports 2-digit numbers.
- Code 128 includes verification protection both via a checksum digit and byte parity checking. The built-in checksum digit is based on a Modulo 103 calculation. Barcode Producer automatically generates the check digit, but doesn’t print it in the human-readable text as the standard dictates. Scanners, however, do check it when reading a code; they do not output it to connected systems.
- Code 128 uses four types of bar size, so printers with high print quality are required. This barcode is not suitable for printing with dot matrix printers, low-quality inkjet printers and flexography on corrugated cardboard.
- Note: GS1-128 makes use of the characteristics of Code 128 and is currently used in many industrial applications. With GS1-128, various data can be stored in the barcode, including a product manufacturing date, weight, size, lot number, destination, bank account, etc.