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.

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.

A few examples:

  • QR Code, that includes semantics for URLs, e-mail, SMS etc
  • Datamatrix 2D

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.