Logistics and industrial selection
Industrial Barcodes: Code 39, Code 128, ITF-14, MSI & Pharmacode
Choosing linear carriers for warehouses, assets, corrugated cases, and packaging-line control -- not picking EAN-13 or UPC-A for consumer POS. For retail checkout symbols, use retail standards.
Open the generatorDecision matrix (start here)
Symbology is the optical format. Business meaning (SKU, bin, GTIN-14, recipe ID) lives in your WMS/ERP or GS1 rules. Drawing a symbol does not assign GS1 numbers.
| If you need... | First candidate | Watch-outs |
|---|---|---|
| Dense alphanumeric internal IDs | Code 128 | Confirm Code Set / FNC behavior if you later move to GS1-128 semantics |
| Legacy plant labels, uppercase asset tags | Code 39 | Wider than Code 128; document whether Mod-43 is used |
| GTIN on corrugated outer cases | ITF-14 | Not a POS substitute; bearer bar and print quality matter on rough board |
| Old numeric shelf / inventory scheme | MSI | Checksum variants differ -- misconfigured scanners almost work |
| Packaging-line component verification | Pharmacode | Not serialization or GTIN+lot+expiry inventory |
Code 128 -- use when / avoid when
Use when
Compact mixed characters
Bin / tote / work order
Floor already decodes 128
You control the identifier namespace and thermal labels are the main surface.
Avoid when
Consumer POS GTIN
Need AIs without GS1-128
Case GTIN is primary
Use EAN/UPC at checkout; evaluate ITF-14 for corrugated case GTINs.
Code 39 and ITF-14
Code 39 -- use Existing SOPs specify it; short uppercase IDs; Mod-43 policy already documented for the site.
Code 39 -- avoid Long mixed strings force oversized labels; Full ASCII is not universal; dense multi-field payloads need a better carrier.
ITF-14 -- use Outer carton or multipack carries GTIN-14; flexo on corrugated; partners ask for ITF-14 specifically.
ITF-14 -- avoid Alphanumeric warehouse keys; replacing consumer EAN/UPC at the lane; uncontrolled print quality on rough board.
MSI and Pharmacode
MSI use
Installed shelf-label systems already key on MSI; reprint into unchanged checksum configuration.
MSI avoid
Greenfield warehouses -- prefer Code 128. Fix undocumented checksum before any migration.
Pharmacode use
Line-speed machine vision verifies carton or leaflet against a production recipe.
Pharmacode avoid
Do not treat it as GS1 DataMatrix or pack serialization. Test at line speed, not only office proofs.
Pharmaceutical pack serialization and lot/expiry inventory: see pharma inventory. Pharmacode camera acceptance is not evidence that serialization succeeded.
Migration tip and formats
Prefer changing the optical carrier and scanner settings while keeping the same business key when possible. Document character set, checksum transmission, min/max length, and expected string after scan -- treat it like an API contract.
SVG
Best for durable label templates and vendor artwork that must scale cleanly.
PNG
Quick proofs on thermal printers and handheld validation before a full rollout.
JPG
Use when a portal rejects transparency and needs a solid white background.