MSI-10 Generator
MSI barcode with one modulus-10 check digit for shelf-label accuracy.
How MSI-10 is structured
MSI-10 is base MSI — numeric only, variable length, each digit drawn as a four-bit pattern of 100 and 110 groups — with exactly one check digit appended. Everything about the bar pattern is inherited from MSI, so the symbol is wide for its data and the practical digit count is set by the label rather than by the symbology.
MSI-10 check digit
The check digit is mod 10, Luhn-style. Starting from the leftmost data digit, every other digit is doubled; any product of ten or more is reduced by subtracting nine; the sum of all digits is completed to the next multiple of ten, and that amount is the check digit. A reader recomputes it from the data and rejects the symbol when it does not match.
MSI-10 compared with MSI
MSI-11 uses repeating weights 2 to 7 from the right and catches adjacent transpositions that the Luhn-style mod 10 misses — 09 and 90 transpose to the same result under mod 10. MSI-1010 simply runs the same mod-10 twice, adding a second digit for applications that need a little more confidence on long numbers. Compare the MSI generator page for the same breakdown of structure, check digit and use cases.
Common MSI-10 problems
Transposed digits that mod 10 cannot see
Luhn-style checking detects single-digit errors and most transpositions, but not the 09/90 pair. If the scheme depends on catching those, generate MSI-11 instead — the weights there are sequential and transposition-safe.
The check digit was typed as data
Feed the data digits and let the generator append the check. A check digit pasted as part of the payload is recomputed and appended again, so the symbol scans back with one extra digit.
Non-digit characters reached the encoder
MSI-10 inherits MSI's digits-only character set. Hyphens and spaces from a formatted part number must be stripped; the preview panel shows the exact string that will be encoded.
Where MSI-10 is used
- Shelf and bin labels in retail inventory where one check digit is required
- Warehouse part numbering with Luhn-style validation
- Library and archival accession numbers
Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.