Kodesæt A, B og C
Code 128 skifter mellem tre kodesæt for effektivt at passe til forskellige slags data. Sæt A dækker store bogstaver, cifre og kontroltegn; sæt B dækker store og små bogstaver, cifre og tegnsætning; sæt C pakker to cifre i hvert symboltegn, hvilket gør lange tal meget kompakte.
Hvert symboltegn er 11 moduler bredt, bygget af 3 streger og 3 mellemrum, og stopmønsteret er 13 moduler. En koder kan skifte sæt midt i en stregkode for at holde den så kort som muligt.
Kontroltegnet
Hver Code 128-stregkode ender med et obligatorisk kontroltegn. Det beregnes ved at lægge starttegnets værdi til summen af hvert datategns værdi ganget med dets position og derefter tage resten efter division med 103. Kontroltegnet vises ikke i den læsbare tekst.
GS1-128 i logistik
GS1-128 er Code 128 med et FNC1-tegn efter starten, som markerer indholdet som GS1 Application Identifiers. Det er den lineære standardstregkode på forsendelses- og palleetiketter, hvor den ofte bærer en SSCC (Application Identifier 00) sammen med GTIN'er, batchnumre og datoer.
Code 128 er specificeret i ISO/IEC 15417 og bruges meget til forsendelse, lager og interne etiketter.