Bulk MSI barcode generator

MSI lives on shelf edges and warehouse bins, and that is exactly the setting where codes are made by the hundred: one label per location, numbered in order, printed once and left in place for years. The symbology takes digits only and its check digit is optional, which makes a batch simple to build and easy to get subtly wrong.

One value per line. A single line of comma- or semicolon-separated values works too. A header row (like “Value”) counts as a value and will be rejected — leave it out.

Nothing recognized yet.

Appearance
Size
Caption
Caption position
Caption alignment
Colours

Enter a value — the code appears here.

Specification

Character set
digits
Length
from 1 to 40 characters
Check digit
not used by this symbology

Where this code earns its place in a batch

  • Shelf-edge and bin labelling by the hundred: one label per location, numbered in order, printed once and left in place for years.
  • Warehouses whose installed readers already expect it — the symbology was designed for inventory control and the configuration is usually decades old and untouched.
  • Numeric location schemes only: MSI takes digits and nothing else, which is a limit worth knowing before renumbering a warehouse around it.

Preparing the list

  • Number the run with a fixed-width sequence so that bin 7 and bin 700 have the same number of digits and the same symbol width.
  • Decide about the check digit for the whole run rather than per label: readers are configured to expect one or not, and a mixed batch confuses that configuration.
  • Keep the values short. MSI is not compact, and a ten-digit location number produces a symbol wider than most shelf tickets.

What goes wrong in a batch

  • Letters in a location code. MSI encodes digits only, so a scheme like A-12 has to be renumbered before it can be printed at all.
  • Changing the check digit convention midway through a series, which leaves earlier labels valid and later ones apparently corrupt to the same scanner.

Frequently asked questions

Should a bulk run carry the check digit?
It depends on the readers already in the building, not on the batch. If they are configured to strip a Mod 10 digit, every label needs one; if they are not, a check digit turns into an extra character in every scanned value.
Why is MSI still used for shelf labelling?
Inertia and fitness. It was designed for inventory control, prints acceptably on cheap ticket stock, and the installed base of readers in older warehouses expects it. For new installations, Code 128 does the same job in less width.