Every barcode belongs to one of two families. Linear (1D) barcodes — the striped symbols on retail packaging — have served point of sale for decades. Matrix (2D) barcodes — DataMatrix and QR Code — store data in a grid instead of a row, and they are taking over work that 1D symbols were never designed to do. Understanding the difference starts with how each one stores data.
How a 1D barcode stores data
A 1D symbol encodes characters in the widths of its bars and spaces along a single horizontal row. Code 128, UPC-A, EAN-13, and Code 39 all work this way. The practical consequence is capacity: a linear symbol comfortably holds a short identifier — typically a GTIN of 8 to 14 digits — and little else.
That identifier is a lookup key, not a record. When a till scans an EAN-13, the barcode itself says nothing about price, batch, or expiry; the retailer’s system uses the GTIN to find those details in a database. This model is simple, fast, and completely adequate for price lookup — but the moment a process needs data that is not in the local database, the symbol has nothing more to offer.
How a 2D barcode stores data
A 2D symbol encodes data in a grid of dark and light modules, read in both directions. Because the grid uses the full area of the symbol, capacity jumps from a handful of characters to hundreds or thousands. A GS1 DataMatrix on a medicine carton can carry the GTIN, batch number, expiry date, and a unique serial number in one small square — the data travels with the item instead of living only in a database.
The second structural difference is error correction. 2D symbologies such as DataMatrix ECC 200 and QR Code use Reed-Solomon error correction: a portion of the symbol is dedicated to redundant data, so the information can be reconstructed when part of the symbol is scratched, faded, or obscured. A torn 1D barcode usually fails outright; a damaged 2D symbol often still scans.
Reading them is different, too
Classic laser scanners read 1D symbols by sweeping a line of light across the bars, which is why a linear barcode must be presented roughly upright to the scan line. 2D symbols require an imaging (camera-based) scanner, which photographs the whole symbol and decodes it in software. Imaging scanners read symbols at almost any orientation, can read from screens, and read 1D codes as well — one reason the industry’s move to 2D starts with scanner hardware.
When each family is the right choice
Neither family is universally better; they solve different problems.
- Choose 1D when the job is identification only — retail price lookup against a database — and the installed scanner base is laser-based.
- Choose 2D when the symbol itself must carry data: pharmaceutical serialization under DSCSA and EU FMD, medical device UDI, expiry-driven stock rotation, or recall management down to batch level.
- Choose 2D when space is tight: a DataMatrix carries its payload in a fraction of the footprint a 1D symbol needs.
- Expect to run both during any migration. Dual marking — a 1D and a 2D symbol on the same pack — is the normal transitional state, not a mistake.
| Aspect | 1D barcodes | 2D barcodes |
|---|---|---|
| What it stores | A short identifier, usually a GTIN | Data itself: GTIN, batch, expiry, serial in one symbol |
| Capacity | A handful of characters in one row | Hundreds to thousands of characters in a grid |
| Damage tolerance | A torn symbol usually fails outright | Error correction reconstructs damaged parts |
| Scanner needed | Laser or imaging scanner | Imaging (camera-based) scanner only |
| Best for | Price lookup against a database | Serialization, expiry rotation, batch-level recalls |

Comments
Comments are stored in this browser only. They are not published, synced, or visible to other readers.
No comments yet on this device. Be the first.