Our warehouse is 3,000 square meters, five people on the floor, and barcode scanners we bought when we first opened — the kind you buy once and pray lasts forever. For a while, outbound scanning jammed every day. The scanner would beep and refuse to read, and everyone said: the scanner is broken, let's buy new ones. Then a friend who sells labels glanced at our labels and laughed: this is not a scanner problem. You picked the wrong code, printed it wrong, and stuck it in the wrong place.
This is a practical guide to warehouse barcode symbology: Code 128, QR, and DataMatrix. Our warehouse cannot afford fancy solutions, so everything below was paid for with real mistakes first.
Barcode Symbology Basics: What Code 128, QR, and DataMatrix Each Do Best
Code 128 is a linear barcode, the long striped kind. It shines when content is short, mostly numbers and letters, and needs reading from a distance — pallet labels, location codes, full-case outbound labels, where you lift the scanner and hit the target from arm's length. Its weakness is clear: the longer the content, the longer the barcode stretches, and once the surface bends or wrinkles, the read rate drops fast.
QR is a two-dimensional square code that even a phone can read. Its strength is capacity: batch numbers, production information, and web addresses all fit, and error correction means a dirty or slightly damaged corner often still reads. Its weakness: for the same content, a QR code usually takes more space than a DataMatrix, it does not fit on tiny items, and long-distance reading is not its strong suit.
DataMatrix is also two-dimensional, but it can be made very small. Its home turf is small parts and small labels, where space is tight but the information cannot be cut. For the same amount of data, DataMatrix packs tighter than QR. Its weakness: it is pickier about print quality and contrast, so a blurry print or heavy glare can defeat it, and not every older scanner or warehouse system supports it. Check your scanner and your WMS before you commit.
| Scenario | First choice | Why | Avoid |
|---|---|---|---|
| Pallets, locations, full cases read from a distance | Code 128 | Far, fast, natural for scanners | An overstretched QR |
| Batch traceability, web links, multi-field data | QR | Capacity, error tolerance, phone-readable | A very long Code 128 |
| Small parts, tiny labels, minimal space | DataMatrix | Small footprint, high density | A large QR |
| Curved surfaces, round drums, soft packaging | QR or DataMatrix | 2D codes tolerate bending | A long Code 128 across a curve |
| Cold storage, low temperature, frost | Cold-resistant material + QR/DataMatrix | Material and contrast matter more than the code | Standard thermal paper with any code |
This is our warehouse's working rule. Your division can shift, but the idea that one code can do everything has to go first.
Barcode Symbology in Cold Storage: Our First Failure
One winter we took in a short-term frozen food job. On outbound day, trucks lined up at the cold store door, and the picker would scan one label, fail, scan another, fail again. We swapped in two different scanners and got the same result. Then we brought a few labels back to room temperature and left them for a while. Several suddenly scanned fine.
The problem was not the scanner. It was the label and code combination: standard thermal paper, which frosts over in cold storage. The surface turned pale, contrast dropped, and melting frost blurred the bar edges. Code 128 lives or dies on crisp edges, and once they blur, the scanner cannot do the math.
We fixed it by trial: switch to a cold-resistant thermal transfer label with a matching ribbon, and switch the cold store case code to QR, so error correction could absorb light frost and wear. A roll of cold-resistant labels costs more than standard thermal paper, but one jammed outbound shift means a truck waiting at the door, cold store energy burned, and every order behind it delayed. All of that costs far more than the label upgrade. After the switch, the first-pass read rate recovered from under half to a normal level, and the queue at the door disappeared. In cold environments, ask about the material before you argue about the code.
Barcode Symbology on Curved Drums: Our Second Failure
We also stored raw materials in round drums with curved surfaces. The original label was a Code 128 carrying a long batch number, printed about a palm's length wide. Stuck on a drum, the two ends lifted off the curve while the middle held on. Scanned from the front, the reader always saw a distorted barcode.
A picker suggested sticking the barcode vertically. That reduced distortion and reads improved, but drums packed tight on the shelf forced an awkward sideways scanning posture, and speed stayed low. The real fix was changing the symbology to QR. Same information, smaller area, better adhesion, readable from any angle. Per-drum scan time dropped noticeably and misreads nearly vanished. The price was real: the WMS field layout and print templates built around Code 128 had to be reworked, and a batch of old labels went to waste. I accept that trade. Rework a template once and every drum batch after that saves time. Skip the rework and every drum batch pays the time tax forever.
Printers and Scanners: Thermal or Thermal Transfer Is Not Just a Machine Price
Many small warehouses compare only the price of the printer and the scanner. That calculation misses half the bill. The real money goes to consumables and rework. Thermal printing is cheap and fast and needs no ribbon, which fits labels with fast turnover and short storage. But it fears heat, light, and friction: a hot summer warehouse or a label sitting on a shelf for six months will fade the print and the code. Thermal transfer needs an extra ribbon and costs a bit more per label, but it resists heat, wear, and time — the right call for long-term stock, cold storage, and transfer points where a label has to survive.
Our split is deliberate: fast-turnover outbound case labels use thermal printing; long-term, cold store, and traceability labels use thermal transfer. An old linear-only scanner will stare blankly at QR and DataMatrix, so confirm 2D support and test WMS parsing before adopting a 2D code.
Then there is one more quiet trap: WMS field truncation. Once we packed full batch information into a QR code, the scan came back complete, but the WMS stored only the first half because the field was set too short. Before printing in bulk, run the longest real data string through the whole chain and check field length and character set.
The Counterintuitive Point: When Scans Fail, Do Not Replace the Scanner First
Here is the counterintuitive judgment I most want to leave with you: most warehouse "broken scanners" are actually a failure in the code, the paper, the placement, or the system field — and the scanner itself is usually the most durable part of the chain. The money we almost spent on new scanners stayed in our pocket, and it covers years of cold-resistant labels.
There is a trade-off here. Two-dimensional codes hold more and tolerate damage, but they are not magic: the more data you cram in, the denser the dots and the higher the demands on print precision and reading distance. Chasing "one code that holds everything" can end with a label that is hard to read even up close. Code 128 is simple and reliable, but stretching it to carry traceability data is like asking a sprinter to run a marathon. Let each code do its natural job, match material to environment, and test the longest real data before adopting a new code. For specific figures, go by the manufacturer's specifications.
Advice for Warehouses Like Ours: Three Steps, Not One Big Leap
Our small-warehouse way is to avoid the big-bang overhaul and move in three steps. Step one, audit every label: which codes fail in which scenarios, grouped by scenario, not by gut feeling. Step two, fix only the most painful scenario first, run it for two weeks, and record the read rate and rework time. Step three, write what works into warehouse rules beside the printing station, so a new hire can follow them without paying the same tuition again.
A big company's report can look impressive, but in our warehouse the first question is: can five people afford to use this every day? If not, it is decoration. Let the code adapt to the goods and the environment.
By Xiao Ma, Small Warehouse Owner







