Barcodes were invented to simplify and increase the accuracy of machine reading of digits, text and other symbols, heavily used for logistics and product identification. There are many different types of barcodes for different uses.
Barcodes are often combined with human-readable symbology, for reference. Check information is also typically included for automatic verification of correct reading. Some even have error correction information (not the least QR codes).
Initially most were one-dimensional, for reading by a laser + photo-sensor or other sequential detector.
A few examples:
- UPC/EAN code, that is used for product identification worldwide.
- POSTNET, used for postal information in USA.
Nowadays more and more barcodes are two-dimensional to increase information density and because cameras are used for reading the barcodes, not the least by mobile phones. These barcodes are also more robust, as they can be read in any direction and can contain error correction data.
A few examples:
- QR Code, that supports e.g. URLs, e-mail addresses, phone numbers for SMS as well as arbitrary text, that’s become popular for everyday use. It’s now heavily used for payment services, product information in stores (both on packaging and on the tag), social media etc.
- Datamatrix 2D, mostly used inside companies for logistics and tracking.
The trend is clearly towards two-dimensional barcodes across the board, but it of course takes time to switch for established uses, and might in cases with low information density not even be relevant. E.g. UPC/EAN code will not go away any time soon, considering its ubiquity.