A QR Code is a two-dimensional matrix barcode invented by Denso Wave in 1994, standardized in ISO/IEC 18004 to store machine-readable data.
A QR Code (Quick Response Code) is a two-dimensional matrix barcode created in 1994 by Masahiro Hara of Denso Wave and standardized internationally under ISO/IEC 18004. Unlike traditional one-dimensional linear barcodes that store limited data along a single horizontal axis, QR codes encode information both horizontally and vertically across a square grid of dark and light modules, offering exponentially higher data density and built-in Reed–Solomon error correction.
Generate customized, high-resolution QR codes for URLs, Wi-Fi networks, and contact vCards instantly using our client-side QR Code Generator tool.
| Specification | Details |
|---|---|
| Standard Reference | ISO/IEC 18004 / JIS X 0510 |
| Inventory Entity | Denso Wave (Patent held open for public free use) |
| Dimensions / Versions | Version 1 ($21 \times 21$ modules) up to Version 40 ($177 \times 177$ modules) |
| Max Numeric Capacity | Up to 7,088 digits (Version 40-L) |
| Max Alphanumeric Capacity | Up to 4,296 characters |
| Max Binary (8-bit) Capacity | Up to 2,953 bytes |
| Error Correction Engine | Reed–Solomon Error Correction Code (RS-ECC) |
QR codes incorporate mathematical Reed–Solomon error-correcting codes, enabling optical scanners and smartphone cameras to decode the symbol even if portions of the barcode are obscured, scuffed, torn, or covered by custom company logos:
| Level | Error Recovery Capacity | Trade-Off & Primary Application |
|---|---|---|
| L (Low) | ~7% of data restored | Lowest redundancy; smallest physical footprint; ideal for clean screens. |
| M (Medium) | ~15% of data restored | Standard default for marketing materials and product packaging. |
| Q (Quartile) | ~25% of data restored | Industrial environments with high risk of wear and smudging. |
| H (High) | ~30% of data restored | Recommended when embedding brand logos or icons in the code center. |
A QR code matrix contains several standardized functional regions that guide camera sensors during recognition:
| Feature | Static QR Code | Dynamic QR Code |
|---|---|---|
| Target URL | Hardcoded directly into the barcode matrix | Points to a short URL redirect service |
| Modifiable After Print? | No (Permanent) | Yes (Destination URL can be updated anytime) |
| Scan Analytics | Not trackable | Real-time tracking (location, device, scan count) |
| Data Density | Increases with longer URLs (more modules) | Minimal and compact (short URL) |
| Privacy & Independence | 100% Privacy-Preserving (No intermediary server) | Dependent on third-party redirection uptime |
[!TIP] For privacy, security, and permanence, always generate Static QR Codes directly on the client side using our QR Code Generator. Because data is encoded locally in your browser, your destination URLs never pass through external redirection trackers.
import QRCode from 'qrcode';
// Generate a data URL for an image tag (Level H with custom colors)
async function createQrImage(targetUrl: string): Promise<string> {
return await QRCode.toDataURL(targetUrl, {
errorCorrectionLevel: 'H',
margin: 2,
color: {
dark: '#1e293b', // Module color
light: '#ffffff', // Background color
},
});
}
// Generate an SVG string directly
async function createQrSvg(data: string): Promise<string> {
return await QRCode.toString(data, { type: 'svg', errorCorrectionLevel: 'M' });
}
No. Static QR codes encode the raw data (such as a website URL or Wi-Fi password) directly into the module pattern. As long as the target website remains online and the printed code remains readable, a static QR code will work indefinitely without expiration.
For reliable smartphone scanning under normal ambient lighting, the physical printed size should be at least $2 \times 2\text{ cm}$ ($0.8 \times 0.8\text{ inches}$). A general guideline is the 10:1 distance-to-size ratio: if a user scans from 1 meter away, the QR code should be at least 10 cm wide.
Common scanning failures result from:
Free, browser-based utilities to test, generate, and inspect QR Code (Quick Response Code) payloads directly.