Standards/msi-plessey
MSI Plessey
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
1bit is prepended and two trailing0bits appended to form the full bit stream [1]. - Module structure: each bit is printed as a bar/space pair three modules wide. A
0bit is a 1/3-width bar followed by a 2/3-width space; a1bit is a 2/3-width bar followed by a 1/3-width space [1][5]. - Start / stop: start character is the bit
1(pattern110); stop character is00(pattern1001) [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