SIMETRIUM .COM QR · ISO/IEC 18004
Denso Wave · 1994
EN|36 languages
Do not confuse
QR is a way of recording, not an address. A code can hold a link, a Wi-Fi password, a business card or a payment. The scanner reads text; what to do with it, the phone decides.
Logo
A picture in the middle is damage that correction repairs. The higher the level, the more can be covered, but the larger the code itself.
The plate shows a phone camera over a business card with a code. The card lies on a wooden desk at an angle, and the code is skewed in the frame. The camera looks for three corner squares with a width ratio of 1 : 1 : 3 : 1 : 1. The squares light up blue, and the module grid is built from them. A fraction of a second later the website address pops up at the bottom of the screen.
Term passport · automatic identification · matrix code

QR code

Quick Response · 21×21 … 177×177 modules · L 7 % · M 15 % · Q 25 % · H 30 %

A café prints a QR code for its menu on the tables and puts its logo in the middle. On the first tables the code reads at once, but on the new stickers it does not: the designer enlarged the logo. The code seems intact, all three corner squares are in place. But under the logo a third of one block's bytes have vanished, and level M correction fixes fewer. The phone looks at the code and says nothing.

A QR code writes text with square modules: dark is 1, light is 0. The data is split into bytes and laid out in a snake. Reed–Solomon correction bytes are added to them: the scanner uses them to restore the damaged part. One of eight masks is laid over the data so that the code has no large empty patches. The mask number and the correction level are written next to the finder patterns, twice.

What it istwo-dimensional matrix code with error correction
StandardISO/IEC 18004; national versions — JIS X 0510 in Japan, GB/T 18284 in China, GOST R ISO/IEC 18004 in Russia
Sizeversions 1–40: from 21×21 to 177×177 modules, +4 modules of quiet zone
Capacitanceup to 7089 digits, 4296 letters and digits or 2953 bytes
ProtectionReed–Solomon over GF(256), 7 to 30 % of bytes
Read withwith a camera: a laser line needs one row, QR needs the whole image
To the lab To the evolution of codes
Etymology

Quick response, mother and measure

The name QR is an English abbreviation coined in Japan; QR Code is a registered trademark of Denso Wave. Most languages kept the Latin letters, while Chinese named the code after its structure — “two-dimensional”. The standard calls the code a matrix code and its little squares modules.

QREng. Quick Response
OE cwic · alive→quick · fast+Lat. respondere · to answer→Quick Response
Quick goes back to Old English cwic — “alive”; hence “fast, lively”. Response comes from Latin respondere, “to answer, to promise in return”. Denso Wave named the code after its main goal: a quick response of the scanner on a factory line.
matrixLat. matrix
mater · mother→matrix · womb, source→mould for casting→table of numbers
Latin matrix means “womb”, from mater, “mother”: that from which something is born. Hence the mould for casting type in a print shop, and in the nineteenth century, for mathematicians, a rectangular table of numbers. A matrix code is also a table: rows and columns of modules.
moduleLat. modulus
modus · measure, manner→modulus · little measure→code module
Modulus is a diminutive of modus, “measure”: a little measure. Roman architects used it for the unit by which parts of a building were measured. In the code, too, the module is a unit of measure: all sizes are expressed in modules, not in millimetres.
What it is called in other languages
二维码 èrwéimǎ — Chinese: “two-dimensional code”. Used for QR and for any 2D code; “扫码” means “scan the code”
QRコード kyūāru kōdo — Japanese, the code's homeland; a Denso Wave trademark
código QR — Spanish and Portuguese; in Argentina and Brazil, a familiar word for paying
رمز QR — Arabic; in full رمز الاستجابة السريعة, “quick response symbol”
QR код — Mongolian, Russian, Kazakh: Latin letters and their own word for “code”
QR कोड — Hindi; a payment QR in India is a UPI QR
L · M · Q · H
Low, Medium, Quartile, High — correction levels: 7, 15, 25 and 30 % of bytes
ECC
Error Correction Code — correction bytes added to the data
BCH
Bose–Chaudhuri–Hocquenghem code; it protects the format and version
GF(256)
a Galois field of 256 elements: bytes are added and multiplied by their own rules
01 · Structure

The service frame and the byte snake

Three finder patterns in the corners tell the camera where the code is and how it is rotated. The dashed timing line between them sets the grid step. From version two on, alignment patterns stand inside: the scanner uses them to correct skew and the bend of the paper. Near the finder patterns are 15 format bits, and in large versions 18 more bits of version number.

Everything else is data. It is written in columns two modules wide, in a snake: bottom to top, then top to bottom, right to left. Correction bytes follow the data right away. In large versions the bytes are split into several blocks and interleaved, so one blotch damages every block a little rather than one block entirely.

v — version number · S — side in modules · n — bytes per block · k — data bytes per block · t — correctable errors · N — number of digits · c — count bits · d — 5 format bits
40
versions, step of 4 modules
8
masks to choose from
30 %
bytes fixed by level H
Interactive · 15 format bits

How a code reports level and mask

Choose a correction level and a mask. Below are five data bits, ten check bits and the protective mask. This string is written twice: around the top-left finder pattern and along the other two.

Reference · extreme versions
21×21version 1: 26 bytes, 17 text letters at level L 177×177version 40: 3706 bytes, 46 alignment patterns 4 modulesquiet zone around the code, no print 1:1:3:1:1width ratio in a finder pattern along any line through the centre
Interactive · a real QR encoder and scanner

Build a code and damage it

The code is built from your text according to the standard: mode, version, blocks, Reed–Solomon, mask. “Structure” — click a module to learn whose bit it is. “Mask” — go through the eight masks and see the penalties. “Damage” — cover the middle with a logo, drop paint, scratch. The scanner reads what is left and repairs blocks.

Logo in the middle

Chart · how much can be covered
Logo versus correction level
A row is a level, a cell is a logo size. Each cell is a separate reading of your text with your blots and scratches. Green — read, red — not read, yellow — read as someone else's text.
share of area under the logoL · M · Q · H
Chart · eight masks
Penalty of each mask
A bar is built from four rules: runs, 2×2 squares, false finder patterns, dark balance. The triangle is the minimum, which the encoder chooses. The bright bar is the current mask.
mask numberpenalty points
02 · Evolution of two-dimensional codes

From a line to a plane

The linear code ran into a length limit: no more than about two dozen characters fit in a line. First the lines were stacked, then they moved to a grid of modules. Each code solved its own task: a part at a factory, a parcel on a conveyor, a ticket on a screen. QR won because it became free and arrived in phones.

carrieswhat for
03 · Modes and capacity

The alphabet decides the size

QR compresses data by the choice of mode. Digits go in threes in 10 bits. Capital Latin letters, digits and nine symbols go in pairs in 11 bits. Everything else goes in bytes of 8 bits. Before the data come 4 mode bits and a character count.

TEXT FOR COMPARISON
■ digit■ alphanumeric character■ byte only

Capacity of versions 1–40 in this text's mode · the dot is your text
mode, version 40
L
M
Q
H
alphabet
04 · What's inside

Just text, by agreement

QR itself does not know there is a link or a password in it. It stores a string. The phone looks at the start of the string: https:// — open the browser, WIFI: — join the network, BEGIN:VCARD — save the contact. Payment strings differ in every country. Mass QR payments began in China: Alipay and WeChat Pay. In India it is a upi://pay link, in the euro area a SEPA transfer in the EPC format, in Brazil Pix by the EMVCo template, in Russia payment details by GOST R 56042-2014.

The details are fictitious. The chosen option also goes to the lab: see which version the code comes out as.
String breakdown ·
05 · Printing rules
Correct
quiet zone — 4 modules on all sides
code side at least a tenth of the distance to the camera: from 3 m — from 30 cm
logo only in the middle and at level Q or H
short link: fewer bytes — lower version — larger module
test on several phones after printing, not in the mockup
Incorrect
a picture over a finder pattern or the format string
light modules on a light background, a gradient across the whole code
modules rounded into dots on a code of a small version
code on the curve of a bottle with no correction margin
a long link with ad tags on a small sticker
06 · Neighbouring codes
07 · Historical section
go board · grid of stones
Note

Masahiro Hara said the idea of the grid came to him while playing go: black and white stones on the board already carry a lot of information. The difficulty was elsewhere — the camera must instantly find the code among text and pictures. Hara went through newspapers, magazines and boxes and picked a width ratio that almost never occurs in print.

The 1 : 1 : 3 : 1 : 1 pattern looks the same along any line through the centre, whatever the angle the camera looks from. Having found three such patterns, the scanner knows the position, rotation and size of the code without reading a single data bit. That is why QR reads in any orientation, while a barcode has to be held with its line along the beam.

11311
finder pattern · 7×7
Catalogue of quantities
the whole index →
the foundation · 7 units

The seven SI base units

on this topic · codes and designations
The index lab: a glass of cabbage juice, a burner, a glass of water on a cold plate and a gear train
Index · all quantities on one page
The lab at the entrance to the index

A drop of acid changes the colour of the juice, salt colours the flame, water freezes at a tap. Below them are all Simetrium sheets, by discipline and alphabetically.

Open the index →
08 · Your language
every link is a real page in that locale

Read it in your own language

translated and checkeddraft translationqueued