Skip to content

Code 39

Terry Burton edited this page Oct 11, 2026 · 15 revisions

Code 39

The Code 39 barcode symbology is discrete, variable length and self-checking.

Also known as: Code 3 of 9, LOGMARS, Alpha39, USD-3, USS-39.

Uses:

  • Asset and inventory labels.
  • US military shipping labels and container markings (LOGMARS, MIL-STD-129).
  • Automotive trading-partner labels (AIAG B-10), each field carrying its Data Identifier.
  • European automotive goods labels (Odette Transport Label, VDA 4902).

Variants:

  • Code 39 Extended is a variant of Code 39 that can be used to encode full 128 character ASCII with the use of shift character combinations.
  • HIBC Code 39 is a variant of Code 39 that should be used when encoding HIBC formatted data.
  • AIM USD-2 is a subset of Code 39 containing the characters A-Z, 0-9, space, - and ..

Standards: ISO/IEC 16388, ANSI/AIM BC1 - USS Code 39, BS EN 800, MIL-STD-1189.

Data and Options

  • The data field can hold any of the following:
    • Numbers 0-9
    • Capital letters A-Z
    • Symbols -.$/+% and space
  • The includecheck option calculates the check digit.
  • The validatecheck option takes the last character of the data to be the check character and refuses the data if it is wrong.
  • The includecheckintext option makes the calculated check digit appear in the human readable text.
  • The hidestars option suppresses the asterisks in the human readable text.

Examples

A basic symbol:

Data:    CODE39
Options: includetext
Encoder: code39

A symbol with a check digit:

Data:    CODE39
Options: includecheck includetext includecheckintext
Encoder: code39

A symbol with the asterisks hidden from the text:

Data:    CODE39
Options: hidestars includecheck includetext
Encoder: code39


Symbologies Reference

Point of Sale

GS1 DataBar

Supply Chain

Two-dimensional Symbols

One-dimensional Symbols

Postal Symbols

Pharmaceutical Symbols

Less-used Symbols

GS1 Composite Symbols

Raw Symbols

Partial Symbols

Clone this wiki locally