MSI Plessey Barcode: Complete Guide

Learn how MSI Plessey barcodes encode digits, which check digit options they support, and why shelf labels and warehouse bins still use this format.

MSI Plessey rarely shows up in a shopper's hands, but walk down a supermarket aisle and look at the shelf edge itself rather than the products on it, and there is a decent chance you will spot one. It is a numeric-only barcode built for internal store and warehouse use rather than the checkout lane, and despite its age it still turns up on shelf tags, storage bins, and inventory containers today.

Try it yourself: Test how MSI Plessey and other barcode formats scan with our free online barcode scanner.

What Is an MSI Plessey Barcode?

MSI Plessey is a continuous, non-self-checking barcode symbology that encodes digits 0 through 9 using binary-coded decimal patterns of wide and narrow bars. It descends from the Plessey Code, a pulse-width-modulated format the UK's Plessey Company developed in 1971 for supermarket chain J. Sainsbury's shelf restocking system.

MSI Data Corporation later modified Plessey's original design, most importantly by adding an optional check digit, which is where the name "MSI Plessey" (or simply "MSI") comes from. That check digit addressed one of the original Plessey Code's biggest weaknesses: it had no built-in error protection and was one of the more error-prone symbologies in common use. The modified version proved reliable enough to keep MSI Plessey alive in shelf-labeling and inventory-control niches long after most of its 1970s-era contemporaries were retired.

Unlike Code 39 or Code 128, MSI Plessey has never gone through ISO or AIM standardization. It remains a de facto, vendor-driven format rather than a formally standardized one, which is part of why implementations vary slightly between barcode software and printers.

How Does MSI Plessey Encode Data?

MSI Plessey converts each decimal digit into a 4-bit binary-coded decimal value, then draws every bit as a bar followed by a space of matching total width: a 0 bit prints as a narrow bar and a wide space, while a 1 bit prints as a wide bar and a narrow space. A fixed start pattern opens the symbol and a fixed stop pattern closes it, framing the string of encoded digits.

Because every bit occupies the same fixed-width cell and only the bar-to-space split changes, the format is easy for basic thermal and dot-matrix printers to reproduce accurately, which was a practical advantage when Plessey Code was designed in the early 1970s. The tradeoff is data density: encoding a digit as four full bit-cells uses more physical space than symbologies built around variable wide-to-narrow ratios across the whole character, such as Codabar or Code 39.

The character set is intentionally narrow. MSI Plessey encodes digits only, with no letters or symbols, which keeps the specification simple but limits it to purely numeric identifiers like SKUs, bin numbers, or internal stock-keeping codes.

What Check Digit Options Does MSI Plessey Support?

MSI Plessey can be printed with no check digit at all, or with one of several optional check digit schemes: Mod 10, Mod 11, Mod 1010, and Mod 1110. Mod 10 is by far the most widely deployed, since most barcode printing software defaults to it.

Mod 10 appends a single digit calculated with the same Luhn-style algorithm used to validate credit card numbers: digits are alternately doubled starting from the rightmost data digit, the digits of each result are summed, and the total is subtracted from the next multiple of ten to get the check digit.

Mod 1010 runs the Mod 10 calculation twice in sequence, appending two check digits instead of one for stronger error detection than a single Mod 10 digit provides.

Mod 11 uses a different weighted-sum formula and a modulo-11 remainder, catching some transposition errors that Mod 10 can miss.

Mod 1110 combines a Mod 11 digit followed by a Mod 10 digit, giving MSI Plessey its strongest built-in error detection at the cost of two extra digits in the printed symbol.

Since the original Plessey Code had no error checking at all, choosing a check digit scheme, ideally Mod 1010 or Mod 1110 where label length allows it, is the main lever available for making an MSI Plessey barcode more reliable in practice.

Where Is the MSI Barcode Used?

MSI Plessey today lives almost entirely in internal, non-consumer-facing applications: retail shelf-edge labels, warehouse storage bin and rack tags, and inventory containers where a business controls both the printer and the scanner. It is not used to identify the products themselves at checkout, since that role belongs to GS1 standards like UPC and EAN.

Retailers that trace their shelf-labeling systems back to the 1970s and 1980s, when Plessey Code and its MSI-modified successor were among the few numeric barcode options available, have in some cases kept the format simply because relabeling every shelf tag and reconfiguring every scanner is disruptive relative to the benefit. Warehouses use it similarly for bin locations and storage containers, where the barcode only needs to be read by internal scanning equipment rather than by the public. For a broader look at how these internal identification systems fit together, see our guides to warehouse barcode systems and using a barcode scanner for inventory.

Can Standard Scanners Read MSI Barcodes?

Most modern barcode scanners are capable of decoding MSI Plessey, but many manufacturers ship it disabled by default and group it with other symbologies, such as Interleaved 2 of 5 and Codabar, that scanner vendors consider higher risk for misdecodes. Enabling it typically means opening the scanner's configuration menu or scanning a setup barcode from the manufacturer's manual.

That caution exists because MSI Plessey's structure can, in some configurations, be confused with other numeric symbologies or produce a false positive decode from a barcode that was never meant to be read as MSI. Scanner manufacturers such as Zebra address this with adjustable "security level" settings for MSI decoding: a lower security level scans faster and more aggressively but raises the chance of a misdecode, while a higher level trades some scanning speed for a lower error rate. If your equipment isn't reading MSI Plessey labels, checking whether the symbology is enabled, and at what security level, is the first troubleshooting step.

Is MSI Plessey Still a Good Choice Today?

For a new labeling system, MSI Plessey is rarely the best starting point. Formats built and standardized more recently offer either better data density, wider character support, or both, without giving up reliability.

NeedBetter Modern Option
General inventory and shelf labelsCode 128
Alphanumeric internal part numbersCode 39
Legacy compatibility with older library or delivery systemsCodabar
Compact warehouse case and pallet labelsITF-14

The strongest case for continuing to use MSI Plessey is existing infrastructure: printers, scanners, and software already configured for it, and a large volume of already-printed labels that would be costly to replace. Outside of that situation, a symbology with formal industry standardization and a wider character set will generally serve a new system better over the long run.

Sources

Frequently Asked Questions

What is an MSI Plessey barcode?
MSI Plessey is a numeric-only linear barcode symbology derived from the 1971 Plessey Code. MSI Data Corporation modified the original design and added an optional check digit, producing a format still used for retail shelf labels and warehouse bin numbers.
Where is the MSI barcode used?
MSI Plessey mainly labels retail shelf edges, warehouse storage bins, and internal inventory containers. It rarely appears on the products themselves, since GS1 standards like UPC and EAN cover point-of-sale scanning of consumer goods.
How does MSI Plessey encode data?
Each digit becomes a 4-bit binary-coded decimal value, with every bit drawn as a bar-space pair: a 0 renders as a narrow bar and a wide space, a 1 as a wide bar and a narrow space. Fixed start and stop patterns frame the digit string, and an optional check digit follows the data.
Can standard scanners read MSI barcodes?
Many scanners can decode MSI Plessey, but the symbology is frequently shipped disabled by default because its pattern can be misread as other symbologies. It typically needs to be turned on explicitly in the scanner's configuration menu before it will scan.