QR code · 15 bits
QR format information
Fifteen bits that tell the scanner the error-correction level and mask, protected by BCH.
Key facts
| Length | 15 bits |
|---|---|
| Contents | 2-bit EC level + 3-bit mask |
| Protection | BCH(15,5) |
| Fixed XOR | 0x5412 |
| Copies | Two, near the finder patterns |
| Version info | Separate 18-bit field from version 7 |
Self-describing symbols
Because format information is embedded in the symbol, a decoder does not need to be told which error-correction level or mask was used. It reads the 15-bit field, verifies it with BCH and proceeds. Two copies are placed so that even if one corner is damaged, the other still works.
Format versus version information
Format information appears in every symbol. Version information appears only from version 7 upward and encodes the grid size in 18 bits, also protected and duplicated. Tools that draw QR codes by hand must place both fields exactly; a misplaced bit produces a symbol that looks plausible but never decodes.
Frequently asked questions
What happens if the format bits are damaged?
The decoder can often recover them from the second copy or by BCH correction. If both copies are unusable, the symbol fails.
Does the format field include the version?
No. Version is encoded separately (and only from version 7). Error-correction level and mask are in the format field.
Why does this matter for generators?
It explains why error-correction level is a property of the symbol itself, not metadata that must travel with the image.