Reference
QR code glossary
34 plain-language definitions for the terms that come up around QR codes — what every part of the matrix is called, how error correction actually works, the difference between static and dynamic, what changes when you swap PNG for SVG, and the standards in the background.
QR code anatomy
8 terms
- QR code #qr-code
- A 2D matrix barcode that encodes data in a square grid of black and white modules. Originally developed by Denso Wave in 1994 and now standardized as ISO/IEC 18004, QR codes can store URLs, contact info, payment instructions, Wi-Fi credentials, and more — typically up to roughly 4,000 alphanumeric characters per code.
- Module #module
- A single black or white square in the QR grid. The number of modules per side scales with the QR version, from 21×21 modules for version 1 up to 177×177 for version 40. The module size on the printed page sets the minimum scan distance.
- Finder pattern #finder-pattern
- The three large squares in the corners (top-left, top-right, bottom-left) of every QR code. Scanners use them to detect a QR in the camera frame, lock onto it, and determine its orientation. The bottom-right corner intentionally lacks one, which is how scanners tell which way is up.
- Alignment pattern #alignment-pattern
- Smaller square patterns scattered through QR codes from version 2 onward. They help scanners correct for perspective distortion when the code is photographed at an angle, on curved surfaces, or with a wide-angle lens.
- Timing pattern #timing-pattern
- A row and column of alternating black/white modules running between the finder patterns. Scanners use them to determine the exact size of each module after rough detection, locking the read into the QR's grid.
- Quiet zone #quiet-zone
- The unprinted margin of at least four modules' width that must surround every QR code. It's not optional whitespace — without it, scanners may not detect the code at all because the finder patterns get visually merged with whatever's around them.
- Version #version
- The size of a QR code, numbered 1 (21×21 modules) through 40 (177×177). Higher versions store more data but require more printed space. Generators usually pick the smallest version that fits the payload at the chosen error-correction level.
- Mask pattern #mask-pattern
- One of eight patterns XOR-applied to the data area before encoding finishes. Masking balances the ratio of black to white modules — too uniform a region (like a long bar of one color) confuses scanners. The QR generator picks whichever of the eight masks scores best for the given payload.
See also: Module , ISO/IEC 18004 , 2D barcode
See also: Module , Error-correction level (ECL)
Error correction
4 terms
- Error correction #error-correction
- Mathematical redundancy built into every QR code that lets it scan correctly even if part of the matrix is damaged, dirty, smudged, or covered (for example by a logo). Without it, a single missing module would break the entire payload.
- Error-correction level (ECL) #error-correction-level
- One of four settings that controls how much damage a QR code can tolerate: L (about 7%), M (15%), Q (25%), or H (30%). Higher levels recover more but consume capacity, so the same payload at level H needs a larger QR than at level L.
- Reed–Solomon #reed-solomon
- The error-correction algorithm used in QR codes (and on CDs, DVDs, and deep-space probes). It works by encoding the data plus mathematical redundancy so a decoder can reconstruct missing or wrong codewords up to the configured tolerance.
- Codeword #codeword
- An 8-bit unit of data inside a QR code. Each version + ECL combination has a fixed total split between data codewords (your payload) and error-correction codewords (the redundancy). Damaged data codewords are recovered using the EC ones.
See also: Error-correction level (ECL) , Reed–Solomon , Codeword
See also: Error correction , Version
QR code types
8 terms
- Static QR code #static-qr-code
- A QR code where the destination is encoded directly inside the matrix. Once printed, the destination cannot be changed. Free to generate, scans forever without depending on any service, but inflexible if you need to update the link or track scans later.
- Dynamic QR code #dynamic-qr-code
- A QR code that points to a short redirect URL controlled by a service. The destination can be updated and scans can be counted, but the redirect provider must keep running for the QR to work — kill the service, the code dies. Usually behind a paid tier.
- vCard #vcard
- A standard text format for contact information (name, email, phone, address, organization) defined by RFC 6350. Encoding a vCard as a QR payload lets a scan import the contact straight into the phone's address book without typing.
- MeCard #mecard
- A simpler, older contact format from NTT DoCoMo, predating widespread vCard support. Less expressive than vCard but smaller — useful when fitting a contact into a tight QR (smaller version, less printing space).
- Wi-Fi QR code #wifi-qr
- A QR encoding Wi-Fi credentials in the format `WIFI:T:WPA;S:NetworkName;P:password;;`. iOS and modern Android scan it from the camera and prompt to join the network without typing anything. The most common use is hospitality and shared offices.
- mailto QR code #mailto-qr
- A QR encoding a `mailto:` URL such as `mailto:hi@example.com?subject=Hello&body=...`. Scanning opens the user's mail app pre-filled with the recipient and (optionally) subject + body. Works on every mobile platform.
- SMS QR code #sms-qr
- A QR encoding `SMSTO:<number>:<message>` (older form: `sms:<number>?body=<text>`). Scanning opens the messaging app pre-filled with the recipient and an optional message body. Used for quick replies, opt-in flows, and contactless support intake.
- Telephone QR code #tel-qr
- A QR encoding a `tel:` URL like `tel:+12025550100`. Scanning prompts the phone's dialer to call the number directly. Useful for posters, business cards, and any signage where a one-tap call is the intended action.
See also: Dynamic QR code
See also: Static QR code
See also: MeCard
See also: vCard
Encoding & file formats
8 terms
- Encoding mode #encoding-mode
- How a QR code packs its payload — numeric (most efficient for digits), alphanumeric (digits + uppercase + a few symbols), byte (8-bit, used for URLs and Unicode), or Kanji (Japanese characters in Shift JIS). Generators auto-pick the most compact mode for the input.
- PNG #png
- Portable Network Graphics — a lossless raster image format. Best for QR codes shown on screens or used in most print contexts. Module edges stay crisp, and PNG supports transparency for placing the QR on coloured backgrounds.
- SVG #svg
- Scalable Vector Graphics — a vector image format. Best when the QR will print at multiple sizes, since modules render crisply at any scale and file size stays tiny. Preferred for posters, packaging, or any design system that needs to resize the same code repeatedly.
- JPG / JPEG #jpg
- A lossy raster image format. Avoid for QR codes when possible — JPEG compression artifacts (especially at lower quality settings) can soften module edges and break scanning. Use PNG or SVG instead unless a downstream pipeline strictly requires JPG.
- Raster graphic #raster-graphic
- An image made of pixels — PNG, JPG, GIF. Resolution-dependent: scaling beyond the source resolution produces blur. For QR codes in print, render the raster at the final printed size or larger to keep modules sharp.
- Vector graphic #vector-graphic
- An image made of mathematical paths — SVG, PDF, EPS. Scales infinitely without losing quality, and the file size is independent of the rendered dimensions. Ideal for QR codes that may be reproduced at multiple sizes.
- DPI (dots per inch) #dpi
- Print resolution. For QR codes, 300 DPI is the practical minimum; 600 DPI is safer for small reproductions on packaging or tickets. Lower DPI risks fuzzy module edges, especially when the printer applies any post-processing.
- PPI (pixels per inch) #ppi
- Screen-side counterpart to DPI. Often used interchangeably but technically distinct: PPI describes screen density, DPI describes ink dots from a printer. For QR codes shown on screen, ~96 PPI is standard desktop, ~300+ PPI on modern phones.
See also: JPG / JPEG , SVG
See also: PNG , Vector graphic
See also: Vector graphic
See also: Raster graphic
See also: PPI (pixels per inch)
See also: DPI (dots per inch)
Spotted something missing or out of date? Open an issue or read the deeper guides at /learn .