Practical label workflow
Codabar and MSI: Match Legacy Barcode Formats to the Receiving System
Codabar and MSI are useful to understand when maintaining an existing identification workflow, especially one with older numeric records and configured scanners. Choosing them because a pattern looks compact is a poor starting point. This guide explains the questions to ask before reproducing an existing code and the exact boundary between generating a symbol and satisfying an application’s contract.
Updated 18 October 2026
BarcoBatch’s general generator includes Codabar and MSI variants. Use them only when the receiving system specifies that format and its start/stop or check-digit behavior. They are not substitutes for a retail GTIN standard, a clinical labeling standard or a database record. Check the scanner’s transmitted text as well as the visual symbol.
Begin with the system specification and a known label
Ask the system owner for a working sample, the expected decoded value and the scanner configuration. Library circulation, older stock systems and shelf-identification installations can use legacy symbologies, but the industry name does not identify the exact format. Historic references to Codabar in blood-bank workflows do not make a general generator appropriate for present-day blood-component labeling. Regulated systems require their own approved specifications and validation; do not derive those requirements from the shape of an existing label.
Recognise the Codabar boundary characters
In this generator a Codabar value includes supported start and stop characters, such as the A characters surrounding A123456A. Enter the intended uppercase boundaries yourself; the tool does not silently rewrite lowercase input to match them. Boundary characters belong to the symbol structure, but the receiving scanner may be configured to transmit or suppress them. Therefore A123456A in the artwork and 123456 in an application field can reflect a scanner setting rather than damaged data. Establish the required behavior explicitly.
Distinguish MSI from its checksum variants
The available choices include MSI, MSI10, MSI11, MSI1010 and MSI1110. Their names indicate different rendering/checksum conventions; they are not five interchangeable spellings for the same receiving-system setup. Start from the specification rather than experimenting until one version beeps. Keep a record of the source data and the check digits present in the rendered or transmitted result. Do not append a digit to the source just because a device’s default setting expects one.
| Question | Codabar | MSI family |
|---|---|---|
| What must be agreed? | Boundary/transmission rules | Checksum variant and transmission |
| What does the public tool do? | Render supported exact input | Render selected MSI variant |
| What remains external? | Scanner and application contract | Scanner and application contract |
Inspect scanner settings before changing identifiers
Manufacturer programming guides expose controls for enabling symbologies, accepted lengths, check-digit verification and whether check digits are transmitted. Some devices disable MSI by default. A failure to read can therefore be a configuration mismatch even when the image is technically decodable. Conversely, a beep followed by a shortened value may mean the device removed a check digit or boundary character. Compare the configured rules with your application owner’s expected input; avoid resetting a shared scanner without preserving its existing configuration.
Use controlled numeric examples, not live identities
Build a small non-production test set containing a short code, a longer code, a leading-zero value and a repeated digit pattern. Give the examples names that cannot be mistaken for stock currently in use. Render the selected format, download PNG or SVG and compare an independent read with the expected source/transmission contract. If a checksum variant changes the displayed result, understand that transformation before printing operational labels. A structural test is not permission to replace a live identifier.
Check keyboard output and application interpretation
With keyboard emulation, scan into a plain text field first, then into the actual receiving form. Review the full string, any prefix or suffix, leading zeros and field movement. The application may treat numeric-looking text as a number and remove zeros after the scanner has transmitted it correctly. That is a different failure from barcode rendering. Test Enter or Tab suffix behavior carefully in a safe record so a scan does not accidentally submit a live transaction.
Choose another format only with the recipient’s agreement
If you are designing a new internal workflow rather than reproducing a legacy contract, compare the supported modern options with the software team. Code 128 may accommodate a broader internal identifier alphabet, while a QR payload serves a different scanning path. Switching a symbology without updating the recipient’s expectations can break existing integrations. A shelf reference also differs from a retail product number; do not print an MSI stock key and describe it as an EAN replacement.
Approve a reproducible batch and retain a reference
Keep one known-good label, its exact entered value, format choice, scanner model and relevant settings. Check that a second device behaves consistently before ordering replacements in quantity. Material wear, quiet-zone loss and scaling still matter even after a configuration problem is solved. When replacing hardware, rerun the same controlled sample instead of assuming factory defaults match the old device. Keep clinical, payment and other regulated or consequential production workflows under their own validation process.
Common questions
Frequently asked questions
Does a library always need Codabar?
No. Use the format required by that specific circulation system. Existing equipment, identifier rules and migration plans matter more than an industry-wide assumption.
Can I omit the A characters from a Codabar input?
Follow the generator’s required input and the receiving specification. Scanner transmission of those boundaries is a separate setting; do not confuse an omitted transmitted character with an omitted symbol boundary.
Why does MSI work on one reader but fail on another?
Compare symbology enablement, length restrictions, checksum algorithm and check-digit transmission. Device defaults can differ, so preserve a known configuration before making controlled changes.
Does this guide approve medical labeling?
No. A general-purpose barcode image is not approval for blood components or another regulated identification process. Use the responsible organization’s current standards and validated workflow.
Sources & standards
Technical claims in this guide are checked against primary or official documentation where available.