QR Code Generator & Scanner
Generate high-resolution customized QR codes or scan existing ones. Safe client-side execution keeps your text and camera feed completely secure.
Drag & Drop QR Code Image
Or click to select a file from your device
ISO/IEC 18004 QR Code Specifications & Reed-Solomon Error Correction
Quick Response (QR) codes are two-dimensional matrix barcodes invented in 1994 by the Japanese company Denso Wave and standardized internationally under ISO/IEC 18004. Unlike traditional one-dimensional barcodes that only store up to 20 digits horizontally, QR codes encode information both horizontally and vertically, storing up to 7,089 numeric characters or 2,953 alphanumeric characters.
The remarkable durability of QR codes is powered by Reed-Solomon Error Correction. By adding mathematical parity bytes during matrix generation, QR codes can be scanned accurately even if portions of the code are torn, smudged, obstructed, or covered by a custom brand logo.
Our QR Code Generator supports four standardized Reed-Solomon error correction levels:
- Level L (Low): 7% of damaged codewords can be restored. Ideal for clean digital screens where density must be minimized.
- Level M (Medium): 15% error recovery. Standard default for general marketing and packaging labels.
- Level Q (Quartile): 25% error recovery. Recommended for printed flyers exposed to wear and tear.
- Level H (High): 30% error recovery. Essential when overlaying a custom brand logo or icon in the center of the QR code.
Programmatic QR Code Generation in Node.js & Python
// Node.js using qrcode library
import QRCode from 'qrcode';
// Generate Data URI for image tag
const url = "https://doitquick.tools/";
const qrDataUri = await QRCode.toDataURL(url, {
errorCorrectionLevel: 'H',
margin: 2,
width: 400
});
console.log(qrDataUri); // data:image/png;base64,...
# Python 3 using qrcode library
import qrcode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data('https://doitquick.tools/')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("qrcode.png")
Customizing Colors, Margins & Vector SVG Export
Our generator allows full visual customization: adjust foreground and background colors, customize quiet zone margins, and export in scalable SVG format (for infinite vector sharpness on billboard signage and print merchandise) or high-resolution PNG format for web use.
Privacy Guarantee: No Dynamic Link Redirects
Many predatory commercial QR code generators create "dynamic" QR codes that redirect through proprietary tracking servers, expiring after 14 days to force users into paid subscriptions. Our tool creates 100% static, permanent QR codes that directly encode your destination URL or text. They never expire and require zero backend servers.
Reed-Solomon Error Correction & Mathematical Mask Pattern Selection
Quick Response (QR) codes, standardized under ISO/IEC 18004, utilize finite field Galois mathematics (GF(2^8)) to implement Reed-Solomon Error Correction. This algorithmic safeguard allows physical scanners and mobile optical sensors to recover encoded text, URLs, and cryptographic tokens even if the printed matrix suffers up to 30% physical abrasion, staining, or obstruction.
A QR code consists of functional patterns (three finder position markers, timing coordinate patterns, alignment patterns for large versions) and data modules. Before final binary rendering, the encoder tests 8 distinct algorithmic mask patterns (e.g. (row + column) mod 2 == 0) and selects the mask that minimizes visual penalty points (avoiding large clusters of identical modules and deceptive false finder patterns).
Error Correction Level Specifications
- Level L (Low): Restores approximately 7% of corrupted data. Recommended for high-density alphanumeric payloads displayed strictly on digital screens.
- Level M (Medium): Restores 15% of data. Default industry standard for general marketing materials and packaging.
- Level Q (Quartile): Restores 25% of data. Optimal for industrial environments, warehousing, and outdoor signage.
- Level H (High): Restores 30% of data. Mandatory when embedding custom company logos or vector graphics in the center of the matrix.
Frequently Asked Questions
No. They are 100% static QR codes. The data is encoded directly into the black and white matrix dots and will function forever without expiration.
Yes. You can encode standard Wi-Fi configuration strings (WIFI:T:WPA;S:NetworkName;P:Password;;) so guests can scan and connect instantly.
The quiet zone is a mandatory blank margin (typically 4 modules wide) surrounding the QR code that helps camera scanners distinguish the code from adjacent background graphics.
Yes. You can download the QR code in scalable vector SVG format, which scales to any print size without pixelation.
No. The QR matrix is calculated entirely in your browser using client-side JavaScript.