A QR code (abbreviated from Quick Response code) is a type of matrix barcode (or two-dimensional code) first designed for the automotive industry. More recently, the system has become popular outside of industry due to its fast readability and comparatively large storage capacity.
The code consists of black modules arranged in a square pattern on a white background. The information encoded can be made up of any kind of data (e.g., binary, alphanumeric, or Kanji symbols). Although initially used to track parts in vehicle manufacturing, QR codes are now (as of 2011) used over a much wider range of applications, including commercial tracking, entertainment and transport ticketing, product marketing and in-store product labeling.
Using the Black Ice Barcode Toolkits, developers can add barcode symbol recognition and generation to any application such as form processing, shipping and receiving systems, and document management systems.
To be able to find/read/decode a QR barcode, it must meet the following criteria:
Codewords are 8 bits long and use the Reed–Solomon error correction algorithm with four error correction levels. The higher the error correction level, the less storage capacity. While the exact number of errors that can be corrected depends on the size of the symbol and the location of the errors, the following table lists the approximate error correction capability at each of the four levels:
The amount of data that can be stored in the QR code depends on the character set, version and error correction level. The maximum values for version 40 with error correction capacity level L:
The Black Ice Barcode SDK/ActiveX currently supports the Standard QR code (September 1, 2006 — ISO/IEC 18004:2006 Information technology — Automatic identification and data capture techniques — QR code 2005 bar code symbology specification). There are other variants (e.g. Micro QR code) that are currently not supported.