Code 128 Barcodes: History, Purpose, Advantages, Limitations, Applications - ByteScout
  • Home
  • /
  • Blog
  • /
  • Code 128 Barcodes: History, Purpose, Advantages, Limitations, Applications

Code 128 Barcodes: History, Purpose, Advantages, Limitations, Applications

Code 128

Code 128 is another linear barcode which is widely used in industry and stores. Code 128 is denser than the other linear barcode type i-e code 39. Code 128 can encode all the upper and lower case alphabets and all the numeric characters from 0-9 and all the 128 ASCII character. The higher density of code 128 makes it suitable to store large amount of data as compared to code 139.
This variety of characters has been categorized into three sub-groups or sub-sets.  Group or subset A contains all the ASCII characters, uppercase characters, digits and control codes.Subset B contains ASCII characters, upper and lower case characters and digits while the subset C contains numeric data. This versatility of code 128 is the key to its wide scale use.


Computer Identics, in the year 1981, designed a barcode type denser than previously used code 39. The barcode type could encode all the 128 ASCII characters. It is for this reason this barcode type is called code 128.


The purpose of code 128 was to design such a barcode type which could encode large amounts of linear data in compact form. Previously, code 39 was used to code data but that barcode type was not suitable for encoding large amount of data due to its low density and in order to encode large data the length of the barcode had to be increased which was not a convenient solution. Hence researchers designed code 128 which was more dense and compact and could store large data.


• Requires 6 elements to encode a character, 3 bars and 3 spaces which make it compact and concise storing large amount of data in small barcode unlike code 39 which required 9 elements to encode a character
• Can encode all the ASCII characters (including all special characters) unlike code 39 which could encode only six special characters.
• Provides more security over encoded data and minimized chances of error while scanning.


• It has four different widths variation for each encoded character. It is not easy to print barcode with four different width variations per element.
• More advanced scanning devices are required to scan these bar codes unlike code 39 which could be scanned with any general scanning device.
• Like other linear barcodes (Code39, EAN13, EAN8, I2of5, UPCA, UPCE, Codabar, GS1 Databar, GS1 128), code 128 is also subjected to distortions and can be damaged easily.


• Commonly used in shipping industry to identify containers and items.
• Used in packaging and whole sale industry to identify and label variety of whole sale items.
• Widely used in combination with code 39 in all the advanced brick and mortar companies.


If you want linear barcode with complete range of Alphabets, Numeric and ASCII characters, code 128 is the best option. It is compact, concise and can handle large amount of data.
Bytescout has two products which deal with Code 128.  ByteScout BarCode Generator is capable of generating Code 128 barcodes from your desktop and web applications and BarCode Reader SDK  reads Code 128 barcodes from scanned images, photo picutres and PDF files.