Skip to content
barcoder

Standards/msi-plessey

MSI Plessey

Type1D Linear
Completeness76%high

Overview

MSI, also known as Modified Plessey, is a numeric-only, continuous, variable-length 1D linear barcode symbology derived from the original Plessey Code [1]. It encodes only the digits 0–9 and supports no letters or symbols [1]. The symbology is not self-checking, so one or two optional check digits are normally appended for integrity [1]. Its primary application is inventory control — particularly the marking of storage containers and warehouse shelves [1][2].

History

MSI was developed by MSI Data Corporation, basing the design on the earlier Plessey Code symbology [1][5]. Because of this lineage it is commonly called "Modified Plessey" [2]. (Plessey Code itself originated with the British Plessey Company.)

Technical specification

  • Character set: digits 0–9 only; no alphabetic or symbol support [1].
  • Encoding: each digit is converted to its 4-bit binary-coded decimal (BCD) representation [1]. A leading 1 bit is prepended and two trailing 0 bits appended to form the full bit stream [1].
  • Module structure: each bit is printed as a bar/space pair three modules wide. A 0 bit is a 1/3-width bar followed by a 2/3-width space; a 1 bit is a 2/3-width bar followed by a 1/3-width space [1][5].
  • Start / stop: start character is the bit 1 (pattern 110); stop character is 00 (pattern 1001) [5].
  • Self-checking: MSI is a continuous symbology that is not self-checking [1].
  • Check-digit options: MSI supports no check digit, or 1–2 check digits in several schemes [1][5]:
    • Mod 10 — uses the Luhn algorithm; the most common option [1][5].
    • Mod 11 — two weighting variants: the IBM pattern uses repeating weights (2,3,4,5,6,7) and the NCR pattern uses (2,3,4,5,6,7,8,9) [1][5].
    • Mod 1010 — two sequential Mod 10 (Luhn) check digits [1][5].
    • Mod 1110 — a Mod 11 check digit followed by a Mod 10 check digit, giving maximum error detection [1][4].

Use cases

MSI's dominant deployment is inventory and warehouse management: it is used to mark storage bins, containers, and especially shelf edges in warehouse and retail stockroom environments [1][2]. Its numeric-only nature suits internal stock-location numbering where alphanumeric data is unnecessary.

Implementations

  • zint — C, ~771 stars, active in 2026. A barcode-encoding library supporting 50+ symbologies; lists "Plessey (MSI & UK)" / MSI Plessey among them [6].
  • bwip-js — JavaScript, ~2.4k stars, active in 2026. A pure-JavaScript port of Barcode Writer in Pure PostScript (BWIPP) covering 100+ types; exposes MSI as msi ("MSI Modified Plessey") [6].

(The widely used python-barcode library does not support MSI [3].)

Comparison

  • MSI vs. Plessey: MSI is a direct derivative ("Modified Plessey") of the British Plessey Code, sharing the BCD-oriented heritage but redefining the bar/space module structure and check-digit handling [1][2].
  • MSI vs. self-checking codes: Unlike self-checking symbologies (e.g. Code 39), MSI carries no built-in per-character integrity, which is why a Mod 10 or Mod 11 check digit (or both, as Mod 1110) is conventionally added [1].
  • Among compact numeric codes MSI is bulkier than Interleaved 2 of 5 because each digit consumes a fixed BCD-derived width, so where density matters ITF is usually preferred; MSI persists mainly by inertia in shelf-labelling systems [1][2].

Status

MSI is a legacy, niche symbology. It is no longer chosen for new general-purpose deployments but remains supported by commercial scanner SDKs and barcode-generation libraries (Cognex, Seagull/BarTender, zint, bwip-js), and still appears in established warehouse shelf-labelling systems [1][2][5][6].

Sources

1 MSI Barcode — Wikipedia — Wikipedia, accessed 2026. 2 MSI Plessey barcodes — Cognex, accessed 2026. 3 Supported Formats — python-barcode documentation, accessed 2026. 4 MSI Plessey (Mod 1110) Generator — BarcodeGenerator.tech, accessed 2026. 5 MSI Barcode — HandWiki, accessed 2026. 6 zint — A barcode encoding library — GitHub (zint/zint), accessed 2026.

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · docs/standards/msi-plessey/index.md