QR Code Specification

QR Code Specification

A QR Code (short for Quick Response) is a specific matrix barcode symbol (or two-dimensional 2D code). QR codes are an evolution of the traditional barcode.

QR Code Information

The Qr Code were developed by a Japanese company called Denso Wave in 1994. A Qr Code encoding inside, unlike his kin widespread barcode, the information in two directions, vertically and horizontally. Thanks to this feature the QR Code can contain more information than most ordinary barcode.


QR code: Micro and Standard

Symbols can be of two types: Micro QR Code or Standard QR Code.

Micro QR Code is a smaller version of the symbology and, depending on contents and error correction level, can represent up to 35 digits or 21 alphanumeric characters. There are 4 versions of Micro QR Code: Micro QR Code 1 through Micro QR Code 4. They have increasing data encoding capacity and physical size.

Standard QR Code can represent up to 7,089 digits or 4,296 alphanumeric characters. There are 40 versions of Standard Code: Version 1 through Version 40.

micro qrcode standard qrcode
Micro QR Code Standard QR Code

QR code: Encoding

Labeljoy enables you to define the encoding algorithm to be used to obtain the best possible data compression, aimed at reducing the amount of space required to display the symbol. The available options are:

  • (Mixed): default setting. Enables encoding of data using a combination of all the following encoding modes based on the type of data found. Normally this setting produces the best results.
  • Numeric: enables encoding of numbers 0 through 9 only.
  • Alphanumeric: enables encoding of numbers, upper case letters only, and a few special characters. Best suited for alphanumeric codes with upper case text.
  • Hex (String): enables encoding of any character in ASCII set. Best suited for alphanumeric codes with lower case text.
  • Hex (Byte): specific encoding for byte data ranging between 0 and 255. By using this encoding algorithm it is possible to encode any value between 0x00 and 0xFF (decimal 0 ~ 255). In order to use this encoding you need to enter a string containing 2-digit hexadecimal values separated by a space: I.e.: 32 FA 56 E8 12 … etc.
  • Kanji: enables encoding of characters in the Shift JIS system used to display Japanese characters.
QR Code encoding:
numeric encoding byte encoding
Numeric encoding Byte (String) encoding

QR code: Symbol Size

Labeljoy enables you to enter the minimum symbol dimension. The QR Code architecture displays data in a square. The size of the square depends on the amount of data encoded.

Normally the symbol is generated with the smallest possible size needed to represent encoded data. In some cases, it might be desirable to increase the minimum needed size drawn, to make sure that all printed symbols have the same size regardless of amount of encoded data. For example, if you connect a QR code barcode to the address field of a data source, it might be necessary for all symbols to have the same size, regardless of the single address length. In such a scenario, you will be able to define a minimum symbol size for all generated barcodes.

QR Code encoding:
auto size qrcode 10 size
With (Auto) symbol size With Version 10 minimum symbol size

QR code: Error Correction

The QR Code standard enables you to select between 4 different levels of recovery from the following amounts of damage:

  • L: 7% recovery capacity.
  • M (default): 15% recovery capacity.
  • Q: 25% recovery capacity.
  • H: 30% recovery capacity.

QR Code implements error correction to ensure readability on partially damaged symbols. The higher the error correction level, the larger the symbol size needed to encode the same data.

QR Code encoding:
l-error q-error code
With L error correction level With Q error correction level