Code 128 - barKoder Barcode Scanner SDK

Scan Code 128 barcodes efficiently - barKoder Barcode Decoder SDK

1D Barkodes

cover

Definition of Code 128

Code 128 is a high-density, variable-length barcode symbology capable of encoding the full ASCII character set (128 characters). It is a linear (1D) barcode that uses a system of bars and spaces to represent these characters. One of the key features of Code 128 is its ability to pack large amounts of information into a relatively compact space—making it ideal for applications where both size and data capacity matter.

Key Characteristics

  1. Character Set
    • It encodes ASCII values from 0 to 127 (which includes letters, digits, punctuation, and control characters).
    • Subsets A, B, and C allow specialized encoding (e.g., numeric-only, alphanumeric, or control codes).
  2. High Information Density
    • Code 128 packs more data into a smaller label compared to many other linear barcodes (like Code 39).
    • This efficiency reduces label size and helps in applications where space is a premium.
  3. Checksum & Error Detection
    • Built-in checksum mechanisms help detect errors in reading and decoding, improving reliability.
  4. Variable-Length Format
    • Because it can encode any length of data, Code 128 can be adapted to various use cases—from short product IDs to lengthy serial numbers.

 

History and Development of the Code 128 Barcode Symbology

Origin of Code 128 (1981)

Code 128 is a high-density linear barcode symbology that was introduced in 1981. It was created by Ted Williams and first implemented by the Computer Identics Corporation in the United States aimglobal.org. The goal in developing Code 128 was to have a more flexible, compact code that could encode both alphabetic and numeric data (the full 128-character ASCII set) without sacrificing density barcodeguide.seagullscientific.com. This was a significant improvement over earlier codes like Code 39, which had lower data density and a more limited character set. The name “Code 128” reflects the ability to encode all 128 ASCII characters tec-it.com.

Adoption and Standardization (GS1-128)

Shortly after its introduction, Code 128 was adopted by industry standards organizations. In 1989, the GS1 system (then known as UCC/EAN) incorporated Code 128 into its standards for logistics and shipping labels support.gs1.org. GS1 created the UCC/EAN-128 standard (now called GS1-128), which is essentially a specialized implementation of the Code 128 symbology. GS1-128 uses the Code 128 barcode format combined with Application Identifiers and a leading FNC1 control character to encode structured data (such as batch numbers, expiration dates, container codes, etc.) for supply chain use tec-it.com. This allowed barcodes to carry much more information for inventory management and shipping purposes than the basic product UPC/EAN codes. The GS1 Historical Timeline notes the expansion to GS1-128 in 1989 as a key step in enabling more detailed logistics barcodes support.gs1.org. (Originally, GS1-128 was called UCC-128 by the Uniform Code Council in the U.S., before the GS1 nomenclature change gs1us.org.)

Industry Perspectives and Evolution

Industry literature highlights how Code 128 was viewed as a major advancement in barcode technology in the early 1980s. The automatic identification industry’s history archives (AIM/AIDC) record that “Code 128, authored by Ted Williams, is introduced by Computer Identics” in late 1981 stonybrook.edu, emphasizing its high data density and alphanumeric capability. Competing firms quickly took notice—barcode pioneer David Allais recounted that when Code 128 debuted, Intermec saw it as a competitive threat to their own symbologies (like Code 39), since Code 128’s continuous encoding allowed higher information density stonybrook.edu. Over time, Code 128 proved its value, especially due to its efficient compression of numeric data (e.g. encoding pairs of digits as single symbols in Code Set C) stonybrook.edu. This efficiency meant labels could be about 30% shorter than with older codes while holding the same data repository.londonmet.ac.uk, a key advantage for applications with limited label space.

Technical Documentation and Standards

By the 1990s and 2000s, Code 128 became fully standardized in technical specifications. It is defined in the international standard ISO/IEC 15417 (first issued in 2000, with a 2007 edition) which codifies the Code 128 symbology details en.wikipedia.org. In industry standards, Code 128 is also referred to as ANSI/AIM Code 128 or USS Code 128 (Uniform Symbology Specification 128) in documentation published by AIM USA and ANSI books.google.com. These standards describe the symbol architecture (start codes A/B/C, shift codes, check digit calculation, stop pattern, etc.) and ensure compatibility across different implementations. Numerous technical guides and barcode textbooks discuss Code 128’s structure and usage; for example, the Seagull Scientific Barcode Guide and Tec-IT’s knowledge base both provide overviews of how Code 128 works and its encoding logic barcodeguide.seagullscientific.com tec-it.com. All these sources reinforce that Code 128’s introduction was a milestone that expanded the capabilities of linear barcodes, leading to its widespread adoption in retail, shipping, warehousing, and healthcare for tracking and identification aimglobal.org coastlabel.com.

How can the barKoder SDK help with your Code 128 scanning requirements

The barKoder barcode scanner SDK can empower any enterprise or consumer mobile or desktop app with state-of-the-art barcode scanning functionality with very little integration efforts.

Register on the barKoder Developer Portal today to download the SDK, evaluate barKoder via its Barcode Scanner demo app, explore our documentation hub, blog posts and more.

Utilized for encoding VINs, Code 128, much like Code 39, benefits from our Segment Decoding technology, ensuring effective scanning even for highly distorted VINs. Code 128 surpasses Code 39 due to its superior features, including higher data density, variable-length encoding, and enhanced error correction capabilities.

References and Further Reading