QR code fundamentals

How QR Codes Work

Published · Reviewed

A QR Code turns data into a square grid of dark and light modules that a decoder can locate, orient, sample, error-correct, and interpret. The symbol carries data; the camera or scanning application decides what action to offer after decoding it.

From text to modules

A generator first represents the supplied characters as data. It adds mode and length information, error-correction codewords, and other control information, then places those bits into a prescribed grid. A mask pattern is applied to avoid arrangements that would be difficult for a scanner to distinguish.

Each small square is a module, not an independent pixel or letter. The same payload can produce a different-looking valid symbol when the generator chooses another encoding mode, error-correction level, version, or mask. Visual difference alone does not mean that the decoded data changed.

  • Numeric, alphanumeric, byte, and Kanji modes have different efficiencies.
  • Unicode text is commonly encoded as bytes, so character count alone does not determine capacity.
  • Shorter payloads usually make simpler, less dense symbols.

How a scanner finds and reads the grid

The prominent square patterns at three corners are position-detection patterns. Timing patterns, alignment patterns in larger versions, and format information help the decoder determine grid spacing, perspective, and symbol settings.

The clear border is the quiet zone. DENSO WAVE specifies a margin four modules wide on all sides. Text, borders, artwork, or another code placed inside this area can interfere with detection even though none of the data modules were changed.

ExampleVersion 1 symbolBefore21 × 21 data-and-function module areaAfter29 × 29 total module area after adding four clear modules to every sideNote

Physical or pixel dimensions come from multiplying that total by the chosen module size.

Versions and error correction

Standard QR Code versions run from 1 through 40. Version 1 contains 21 modules per side and each later version adds four per side, ending at 177 modules for Version 40. A generator normally chooses the smallest version that can contain the payload at the selected correction level.

Levels L, M, Q, and H add increasing error-correction capacity. DENSO WAVE describes approximate restoration rates of 7, 15, 25, and 30 percent of codewords respectively, while warning that actual recovery depends on how damage is distributed. Stronger correction adds redundancy and can make a code denser.

  • Correction protects against some missing or unreadable modules; it is not a guarantee.
  • A center logo deliberately covers modules and consumes part of the correction margin.
  • Choose a correction level for the real environment, then scan-test the final artwork.

What happens after the scan

The decoder reconstructs the stored payload. If it resembles a URL, the scanning app may offer to open it; if it is plain text, contact data, or another recognized form, the app may offer a corresponding action. Those behaviors belong to the reader, not to the QR symbol itself.

A so-called static code directly stores its lasting payload. Services marketed as dynamic QR codes usually store a redirect URL whose destination can be changed by that service. The printed modules remain a normal QR Code, and the redirect depends on the provider and its continued availability.

  • Preview and proofread the exact decoded text.
  • Treat an unfamiliar QR destination like any unfamiliar link.
  • Test with several representative devices before publishing or printing at scale.

Open QR Code Generator

Sources and review notes

Format and compatibility references were checked on the dates shown. Product support can change, so verify a critical destination directly.

Common questions

How QR Codes Work FAQ

Does a generated QR Code expire?

The symbol itself has no timer. A stored URL, redirect service, website, or account can later change or stop working.

Does higher error correction always scan better?

No. It adds resilience but also density. Physical size, contrast, quiet zone, focus, damage, and reader capability still matter.

Can I safely cover the middle with a logo?

A small logo can work with suitable correction and testing, but it removes modules and can make decoding fail. It is not guaranteed by a successful preview.