Code 128


The Code 128 was developed by Computer Identics in 1981 and was standardized by the AIM (Automatic Identification Manufacturers, Inc.) as the USS-128. The name Code 128 refers to the 128 displayable ASCII characters.

Symbol Examples

Example of a Code 128 symbol (character set A) with eight data characters (12345678) and one check character:

Code 128

Symbol Designations

Within the USA, the Code 128 (VBCD: 128 Autoswitch ; VBCD: 128 A ; VBCD: 128 B ; VBCD: 128 C) was also called USD-6.

A separate subset, the EAN 128 or the UCC-128 (VBCD: EAN 128; VBCD: UCC-128), was determined for the exclusive use by the International Article Numbering Association (EAN) or the Uniform Code Council (UCC).

Areas of Application & Branches of Trade

  • Parcel services
  • Electronics industry
  • Chemical industry
  • Health sector
  • Forwarding, logistics and transport business
  • IATA Cargo

The special determinations for EAN 128 and/or UCC-128 are utilized additionally:

  • Consumables, trade
  • Medical sector
  • Packing industry


Advantages / Potencies

Disadvantages / Shortcomings

Codeable Character Set

  • All 128 ASCII characters
    • Included in the character set A + B:
      • A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 SP ! " # $ % & ’ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _
    • Only included in the character set:
    • Only included in the character set B:
      • a b c d e f g h i j k l m n o p q r s t u v w x y z ` { | } ~ DEL
    • The ZS C contains only digit pairs:
      •  00 01 02 03 04 bis 96 97 98 99
  • 4 function characters FNC 1 FNC 2 FNC 3 FNC 4
  • 4 code and shift characters CODE A CODE B CODE C SHIFT
  • 3 start characters are automatically generated by the "Visual Bar Code Designer".
  • 1 stop character is automatically generated by the "Visual Bar Code Designer".

Symbol Properties

  • Code type: continuous
  • Elements per symbol character: 6, 3 bars and 3 spaces each, with a width of 1 to 4 modules. The stop character consists of 7 elements.
  • Self-checking characters: yes (the characters are intrinsically safe, meaning that a change within the character is detected to be an error).
  • Symbol Width: variable (the amount of data characters within the symbol can, depending on existing agreements, be variable or variable up to a defined maximum).
  • Ratio (ratio of the four element widths): between themselves, the ratio between the four element widths should be 4 : 3 : 2 : 1.
  • Bi-directionally readable: yes (the barcode symbol can be read in two directions, i.e. forwards or backwards).
  • Check Character: A symbol check character is obligatory and is calculated according to Modulo 103, which is automatically generated by the "Visual Bar Code Designer".
  • Character Density: 11 modules per symbol character, 5.5 modules per data characters in the character set C and 13 modules for the stop-character.
  • Necessary characters containing no functional characters: the equivalent of 35 modules.

Check Digits & Data Security

Each barcode symbol operates with two self-control facilities that are independent from each other. For once, the self-control is carried out via the parity of the number of modules for the bars and the number of modules for the spaces; for the others, via a check character, calculated according to Modulo 103.

A numerical value is allocated to each symbol character. These values are utilized for the determination of the symbol check characters.

The property fact that each symbol character consists of an even number of modules for the bars and an uneven number of modules for the spaces, is utilized for a self-check (even parity).

The check character is automatically generated by the "Visual Bar Code Designer" and inserted into the barcode symbol.

Symbol Description

A symbol – starting from the left – consists of:

  • One leading Quiet Zone
  • one Start-Character,
  • one or more Symbol Characters, representing the data or the special characters,
  • one obligatory Check Character (symbol check character), which is automatically generated by the "Visual Bar Code Designer",
  • one Stop Character,
  • one closing quiet zone.
  • Human Readable Text
    A human readable translation of the data characters encoded in the symbol (and possibly the check digits) should usually be printed along with the symbol. The size of the characters and the font type are not specified. As long as the quiet zones are not touched, the human readable text can be printed at any given spot near the symbol. Usually, the human readable text is situated below the symbol.

Character Sets

With the Code 128, the entire ASCII character set can be displayed. According to the requirements, a differentiation is made between the three character sets A, B and C. Within a barcode symbol, it is possible to shift between these three character sets.

  • Character set A contains the alpha-numerical standard keyboard characters and the punctuation marks (without the lower-case letters) as well as the control characters, i.e. characters with ASCII-values from 00 to 95, including 7 special characters.
  • Character set B contains all alpha-numerical, all standard keyboard characters
    including low-case letters (i.e. ASCII-characters 32 to 127) plus 7 special characters.
  • Character set C contains the 100 digit pairs 00 to 99 plus 7 special characters. It allows the pair wise encoding of numerical data within one single barcode character. That way, compared with the other data, twice the density is achieved.

If you want to encrypt VBCD characters from different character sets of Code 128, select Code 128 Autoswitch. In this case, all characters of the ASCII-character set can be entered. VBCD will automatically insert the barcode symbol for the character set change in such a way that the optimum barcode length is achieved.

Special Characters

  • The Start Characters The start characters A, B and C define that character set in which the symbol starts.
  • The Stop Character The stop character is identical for all character sets.
  • Code-characters: Through the code character for character sets A, B or C a shift is made from the previously determined character set to the character set determined by the code character. This shift is valid for all characters coming after the code character up to the end of the symbol or up to the next code character.
  • Shift-characters. Through the shift character, a shifting from character set A to B, or B to A is made for the next single character coming after the shift character. Those characters following this character will return back to the character set A or B, according to which one was defined before the shift character.
  • The functional characters FNC1 to FNC4 are defined commands for the barcode reader to carry out special work processes for applications.

Special Applications