"Barcode" is an umbrella term: dozens of symbologies hide behind that word, each with its own purpose. If you make your own labels or set up a scanning process, you only need to know a handful. These are the types you'll meet most often in retail and logistics.
The linear codes (1D)
EAN-13 and EAN-8
The standard on consumer products in Europe. EAN-13 encodes 13 digits, the last of which is a check digit: an arithmetic check over the other twelve. EAN-8 is the compact variant for small packaging. The numbers are issued centrally through GS1, giving every product a globally unique number.
UPC-A
The American counterpart of EAN-13, with 12 digits and likewise a check digit. Scanners and systems treat UPC-A and EAN-13 almost identically; an EAN-13 starting with 0 is technically equal to a UPC-A.
Code 128
The workhorse of logistics. Code 128 encodes not just digits but also letters and punctuation, and is compact enough for shipping labels, location labels and internal references. GS1-128 (formerly EAN-128), which you see on cases and pallets carrying data such as batch numbers and best-before dates, is technically a Code 128 as well.
Code 39 and ITF-14
Code 39 is an older alphanumeric code still common in industry and healthcare. ITF-14 encodes 14 digits and often appears on outer cases — recognisable by its thick black bearer bars.
The matrix codes (2D)
QR code
Holds a lot of data (up to thousands of characters), reads from any angle and has built-in error correction, so a damaged code often still scans.
Data Matrix
The compact 2D code for small parts — electronics, medical instruments, pharmaceutical packaging. Like QR, it includes error correction.
Why the check digit matters for your scanning process
The check digit in EAN and UPC is not decoration: it makes a mis-read detectable. If a scanner reads one digit wrong, the checksum no longer adds up and the code can be rejected. ScanVerify uses this actively: EAN-13, EAN-8 and UPC-A are validated against their check digit on every scan, and codes without a check digit (such as many Code 128 applications) are only accepted after a silent double confirmation across two camera frames. A misread code never reaches your records — more on this in Barcode scanning and verification in the warehouse.
Which code should you pick for your own labels?
- Digits only, product for retail sale → EAN-13 (issued through GS1).
- Internal references with letters and digits → Code 128: compact and universally readable.
- Lots of data or tiny labels → QR or Data Matrix.
- In doubt → for internal logistics, Code 128 is almost always a safe choice.
Frequently asked questions
Which barcodes can ScanVerify read?
All common 1D and 2D codes, with the camera or a hardware scanner. EAN and UPC codes get additional check-digit validation.
Does the code type affect verification?
No. Verification against the expected list — expected, unexpected or duplicate — works the same for every code type. The list defines what is expected, not the symbology.
What's the difference between GS1-128 and Code 128?
GS1-128 is a convention on top of Code 128: the same bars, but with standardised data fields (Application Identifiers) such as batch number and date. Hardware scanners sometimes prepend a prefix for these; ScanVerify strips it automatically.
Want to see ScanVerify in action?
Download ScanVerify from the Google Play Store and start scanning, verifying and connecting right away. Completely free during the introduction phase.
Nu beschikbaar inGoogle Play