QR Code Specification

QR Code Specification

A QR Code (short for Quick Response Code) is a matrix barcode (or two-dimensional 2Dcode). QR Codes are an evolution of traditional barcodes.

QR Code Information

The QR Code system was invented in 1994 by the Japanese company Denso Wave. Unlike the older, one-dimensional barcodes, QR Codes encode the information in two directions, vertically and horizontally, thanks to that QR Codes have faster readability and greater storage capacity. <!– than most ordinary barcode.–>


QR Code: Micro and Standard

There are two types of symbols: Micro QR Code or Standard QR Code.

Micro QR Code is a smaller version of the QR Code standard for applications where symbol size is limited. There are four different versions (sizes) of Micro QR Codes: the smallest is 11×11 modules; the largest can hold 35 numeric characters.

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 allows to define the coding algorithm to be used to obtain the best possible data compression, in order to reduce the amount of space required to display the symbol. The available options are:

  • (Mixed): default setting. Enables data encoding using a combination of all the following encoding modes based on the type of data found. Normally this setting produces the best results.
  • Numeric: allows the encoding of numbers from 0 to 9.
  • Alphanumeric: allows the encoding of numbers, uppercase letters, and some special characters. Best suited for alphanumeric codes with uppercase text.
  • Hex (String): allows character encoding in ASCII. More suitable for alphanumeric codes with lowercase letters.
  • Hex (Byte): specific encoding for byte data between 0 and 255. By using this encoding algorithm it is possible to encode any value between 0x00 and 0xFF (decimals 0 ~ 255). To use this encoding it is necessary to insert a string containing the two-digit hexadecimal values ​​separated by a space: Example: 32 FA 56 E8 12 … etc.
  • Kanji: allows character encoding 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 allows you to enter the minimum symbol size. The QR Code architecture displays the 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 necessary to represent the encoded data. In some cases it may be necessary to increase the size to ensure that all printed symbols have the same dimension, regardless of the amount of data encoded. For example, if you connect a QR Code to an address field from an external database, you may need to set the size manually, regardless of the length of the single address, to ensure all the symbols are the same.

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 allows to select between 4 different recovery levels among the following amounts of damage:

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

QR Codes implement error correction to ensure readability of partially damaged symbols. The higher the error correction level, the larger is 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