QR Code - Structure, Usage and Applications

This article contains some useful information on the QR Code - a data visualization tool with an emerging importance in today's web.


A QR code is an abbreviation from Quick Response Code. It is the trademark for a type of matrix, or two-dimensional, barcode. It was initially designed for the automotive industry in Japan. Over time, however, the QR code quickly became popular outside the auto industry and is nowadays part of many website designs. Below, you can see one common usage – encoding a site’s url via a QR code, which can easily be scanned, and the site loaded on a mobile device. This reduces text frequency and introduces a stylish way to encode data.
QR Code

Encoding Data

Encoding data via a QR code is relatively complex. Many software tools make this task easy, by allowing the user to simply enter a text string, and then just rendering the QR code representation of this data. One such behavior is demonstrated in the following example.

Based on the data, which the user can enter, there are four QR code modes:

  • Numeric mode which includes the digits 0 to 9.
  • Alphanumeric mode is for the decimal digits (0-9), as well as uppercase letters. Lowercase letters are not allowed. Additionally, the alphanumeric mode includes the symbols $, %, *, +, -, ., /, and : as well as a space.
  • Byte mode, by default, is for characters from the ISO-8859-1 character set. However, some QR code scanners can automatically detect if UTF-8 is used in byte mode instead.
  • Kanji mode is for double-byte characters from the Shift JIS character set. It encodes and supports characters from the Japanese character set.

Most QR Code implementations support ECI, or Extended Channel Interpretation mode. This specifies the character set directly, and allows encoding of characters from different languages. Please, keep in mind that not all QR Decoders recognize this setting.

QR Code Structure

The image to the right demonstrates all of the required sections of data modules, rendered in the QR Code.
Each colorized section includes a description for its purpose in the final QR code rendering. Each one of these segments is obligatory, with the exception of “format information”, which is introduced in version 7 and up. There are two types of such data. One is the “format data”, which are modules such as the “alignment detection”, as well as “position detection”. These are important in allowing the decoder to know which version the code is, and what error correction level it has.
The other type of data is the actual data being encoded. It is always complemented by the error correction bytes. These ensure that the QR code will be read successfully if some portion of it is damaged.

QR Code

QR Code Usage

QR Codes nowadays are used widely for a variety of purposes. Below are listed just some of the possible usages of a QR Code:

  • Product details
  • Contact details, in the form of a Vcard byte encoding
  • Offer details
  • Event details
  • Coupons
  • Different IDs, which represent text, which is difficult to read
  • URLs

The information provided above simply scratches the surface of the structure, applictions and purpose of QR codes. To see more information on these types of controls, please visit our demos section, or our documentaion.