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 URLs, e-mail, SMS etc, that’s become popular for everyday use
  • 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.