**MSI** (also known as

**Modified Plessey**) is a

barcode symbology developed by the MSI Data Corporation, based on the original

Plessey Code symbology. It is a continuous symbology that is not self-checking. MSI is used primarily for inventory control, marking storage containers and shelves in warehouse environments.

## Character set and binary lookup

The MSI character set consist of the numbers 0..9 as well as two "guard" characters (representing the beginning and end of the barcode). The symbology does not support alphabetic characters.

### Binary mapping

Each digit and guard character is represented by a binary number, as shown in the table below.

To produce a barcode image from this map, one simply must consider the digit 1 to be a black bar and the digit 0 to be a white bar and produce an image accordingly.

## Check digit calculation

The MSI barcode uses one of five possible schemes for calculating a

check digit:

- No check digit (least common)
- Mod 10 (most common)
- Mod 11
- Mod 1010
- Mod 1110

### Mod 10 Check Digit

When using the Mod 10 check digit algorithm, a string to be encoded 1234567 will be printed with a check digit of 4:

12345674

The Mod 10 check digit algorithm,

IBM.uses the

Luhn algorithm.

### Mod 11 Check Digit

1. Reverse the string to be encoded (in this case 1234567).

Let S be the reverse of the string to be encoded
S = 7654321

2. The string is then "weighted" using a repeating weighting factor...

Read More