QR Code Generator: ISO/IEC 18004 Engine, Reed-Solomon Error Correction & Custom Styling
⚡How to Generate Custom QR Codes in Your Browser
Select Your Content Type
Choose between URL, Plain Text, Wi-Fi Network, Contact Card (vCard), Email, SMS, or Cryptocurrency address.
Enter Your Information
Fill in the required fields (such as website URL, Wi-Fi SSID and password, or vCard contact details). The QR preview updates in real time.
Customize Colors, Error Correction & Dimensions
Choose your preferred color palette or custom hex colors, select Error Correction Level (L, M, Q, or H), and set your desired resolution and quiet zone margin.
Export High-Resolution Vector or Raster Files
Click 'Download SVG' for infinite-resolution vector print artwork, or 'Download PNG' for digital web marketing and mobile sharing.
Quick Response (QR) codes have revolutionized physical-to-digital interactions across the globe, powering contactless payments, restaurant menus, Wi-Fi onboarding, digital boarding passes, multi-factor authentication (MFA), and interactive marketing campaigns. Standardized under ISO/IEC 18004, a 2D QR code matrix can encode thousands of alphanumeric characters into a compact optical grid readable from any angle by standard smartphone camera sensors.
However, creating robust QR codes for commercial print and digital displays demands rigorous engineering. Generating a code with inadequate Reed-Solomon error correction, illegal mask patterns, or un-scannable color combinations leads to disastrous scanning failures in real-world lighting. Our browser-native QR Code Generator implements a complete ISO/IEC 18004 engine in pure client-side TypeScript. Create customized QR codes for URLs, Wi-Fi networks, vCards, SMS, emails, and crypto wallets with precision error correction levels (L, M, Q, H), customizable quiet-zone margins, custom color palettes, and crisp SVG/PNG export. Executing 100% locally in your browser, your private credentials and sensitive contact details never touch an external cloud server.
Read the full technical guide
The ISO/IEC 18004 Matrix Architecture: Grid Anatomy & Functional Patterns
Unlike linear 1D barcodes that encode data across a single horizontal axis, a QR code is a two-dimensional matrix symbol consisting of square modules arranged in an overall square grid. The specification defines 40 discrete symbol versions, ranging from Version 1 ($21 \times 21$ modules) up to Version 40 ($177 \times 177$ modules). Each successive version adds 4 modules per side: $\text{Dimension} = 21 + 4 \times (V - 1)$.
Every compliant QR code contains standardized functional patterns that must never be obscured: • Finder Patterns: The three prominent concentric square targets located at the top-left, top-right, and bottom-left corners. With a module ratio of 1:1:3:1:1, they allow camera software to detect the code's physical location, size, and 360-degree rotational orientation instantly. • Timing Patterns: Alternating dark and light modules running horizontally and vertically between the finder patterns on row 6 and column 6, establishing the coordinate grid system. • Alignment Patterns: Sub-targets placed in regular intervals across larger QR codes (Version 2 and higher) to correct for perspective distortion when scanning curved surfaces (such as beverage cans or wrinkled paper). • Format Information: Redundant bits adjacent to finder patterns encoding the error correction level and mask pattern index, protected by BCH(15,5) error-correcting codes.
Reed-Solomon Error Correction: Mathematical Resilience Against Damage
The defining engineering breakthrough of the QR code is its remarkable resistance to dirt, smudges, tears, and physical occlusion, achieved through Reed-Solomon cyclic polynomial error correction. When data is encoded, the engine calculates Galois Field $GF(2^8)$ error-correction codewords that are interleaved throughout the bitstream.
Our generator supports all four ISO-standardized Error Correction Levels (ECL): • Level L (Low): Recovers up to ~7% of corrupted or occluded data codewords. Offers the highest data capacity and smallest physical matrix size; ideal for clean digital displays. • Level M (Medium): Recovers up to ~15% of corrupted data. The industry default, providing an optimal balance between density and reliability for general marketing. • Level Q (Quartile): Recovers up to ~25% of corrupted data. Recommended for high-wear environments, outdoor street posters, and industrial factory floors. • Level H (High): Recovers up to ~30% of corrupted data. Recommended for high-wear environments or outdoor signage, ensuring the code scans reliably even if partially obscured or smudged.
Data Encoding Modes & Efficiency Optimization
To maximize data storage within the smallest possible matrix version, the QR code specification defines four primary data encoding modes: • Numeric Mode: Encodes digits 0–9 by packing triplets of decimal digits into compact 10-bit binary words (max 7,089 characters in Version 40-L). • Alphanumeric Mode: Encodes 45 characters (digits, uppercase letters A–Z, and 9 special punctuation symbols: space, `$`, `%`, `*`, `+`, `-`, `.`, `/`, `:`) by packing pairs of characters into 11-bit words (max 4,296 characters). • Byte Mode: Encodes raw 8-bit binary data (such as UTF-8 text, URLs, and multi-byte unicode characters) with 8 bits per character (max 2,953 bytes). • Kanji Mode: Encodes Shift-JIS double-byte characters into 13-bit words (max 1,817 characters). Our generator automatically analyzes your input text and selects the most compact encoding mode, preventing unnecessary grid complexity and keeping module dots comfortably large for effortless camera scanning.
Data Masking Algorithms: Preventing Scanner De-Synchronization
If a raw QR bitstream contains large clusters of identical dark or light modules (or inadvertently mimics the 1:1:3:1:1 ratio of a finder pattern), optical camera sensors lose tracking synchronization. To prevent this, the ISO specification mandates that the encoded matrix undergo mathematical masking.
The engine evaluates eight standardized mask patterns (Patterns 0 through 7) by applying a bitwise XOR operation against matrix coordinates (e.g. Mask 0: $(x + y) \pmod 2 == 0$; Mask 3: $(x + y) \pmod 3 == 0$). The masked matrices are scored against four penalty rules that penalize long runs of identical modules, $2 \times 2$ blocks, and pseudo-finder sequences. Our engine evaluates all eight masks and automatically deploys the optimal mask with the lowest penalty score.
Custom Aesthetics: Color Palettes, High-Contrast Theming & Quiet Zones
Modern brand marketing demands visually engaging QR codes that match your brand identity while maintaining flawless optical readability. Our tool provides streamlined design customization while safeguarding ISO compliance: • Curated Color Palettes: Select from designer color presets (Midnight Navy, Forest Emerald, Royal Indigo, Deep Crimson) or configure custom hex foreground and background colors, including transparent backgrounds for overlays. • High-Contrast Luminance: Optical camera sensors require strong contrast between dark modules and light backgrounds. Our generator ensures high luminance contrast so your codes scan instantly in dim ambient lighting or bright sunlight. • Quiet Zone Margins: Customize quiet zone margins (0 to 4 modules) to guarantee smartphone camera algorithms isolate the matrix reliably against busy backgrounds.
Supported QR Data Types: Wi-Fi, vCard, URLs & Crypto
Our tool features curated schema generators for the most popular real-world QR use cases: • Wi-Fi Network Access: Formats standard `WIFI:S:MyNetwork;T:WPA;P:Password123;;` strings, allowing guests to join secured Wi-Fi networks by simply pointing their camera at the code. • Digital Contact Cards (vCard 3.0): Formats full `BEGIN:VCARD` records containing names, job titles, phone numbers, email addresses, and website links for seamless mobile address book import. • URLs & Deep Links: Encodes direct web addresses, app store download links, and social profile links. • Cryptocurrency Payments: Formats Bitcoin (`bitcoin:address?amount=...`), Ethereum, and Solana URI schemas for instant digital payments.
100% In-Browser Privacy for Passwords & Personal Contact Data
Generating QR codes for sensitive office Wi-Fi passwords, private executive phone numbers, crypto wallet addresses, or confidential internal portal URLs should never involve sending your plaintext data to remote cloud servers. Traditional 'free online QR generators' routinely log, catalog, and monetize submitted data.
Our QR Code Generator executes 100% locally inside your web browser. Built entirely in client-side TypeScript with zero external server dependencies, all matrix construction, polynomial division, and image rendering take place in device RAM. No data ever leaves your computer, ensuring complete data security and total compliance with GDPR, HIPAA, and corporate security guidelines.
💡Professional Best Practices for Flawless QR Code Deployment
- •Choose Level M or Q for balanced reliability: Level M (15% recovery) is ideal for standard marketing, while Level Q (25% recovery) guarantees resilience on outdoor printed posters exposed to dirt or physical wear.
- •Maintain high contrast: Ensure the foreground dots are substantially darker than the background; never invert colors (white dots on a black background) as many legacy scanners fail on inverted codes.
- •Keep URLs short: Shorter URLs produce simpler, lower-version QR codes with larger dots, which scan much faster from greater distances and under poor lighting.
- •Leave adequate quiet zones: Maintain at least 4 modules of blank space around the entire perimeter of the QR code to ensure phone cameras can isolate the symbol.
- •Test on multiple devices: Before printing thousands of brochures or posters, test scan the physical printed code with both iOS (Apple Camera) and Android (Google Lens).
- •Use vector SVG for large format printing: When printing billboards, trade show banners, or packaging, use SVG to guarantee razor-sharp module edges.
- •Consider scan distance: As a general rule of thumb, the scanning distance should be roughly 10 times the width of the printed QR code (e.g. a 2cm code scans from ~20cm away).
🛡️Technical Specifications & ISO/IEC 18004 Pipeline
The browser-native QR code generator executes through a complete ISO/IEC 18004 algorithmic pipeline: 1. Mode Selection & Bitstream Assembly: Input data is analyzed and mapped to the optimal encoding mode (Numeric, Alphanumeric, Byte, or Kanji). Mode indicators, character count indicators, and data bits are packed into 8-bit codewords with standard padding bytes (`0xEC` and `0x11`). 2. Reed-Solomon Error Correction Codewords: The data bitstream is partitioned into blocks based on the matrix Version (1 through 40) and Error Correction Level (L, M, Q, H). Generator polynomials in Galois Field $GF(2^8)$ compute the cyclic redundancy error-correction codewords, which are interleaved with data blocks. 3. Matrix Construction & Pattern Placement: An empty matrix of dimensions $21 + 4 \times (V - 1)$ is populated with mandatory functional patterns: 3 Finder Patterns ($7 \times 7$), Timing Patterns, Alignment Patterns (from `ALIGNMENT_PATTERN_LOCATIONS`), and Dark Module at $(8, 4V + 9)$. 4. Optimal Masking Evaluation: The remaining data modules are placed using a zigzag 2-column traversal. All eight ISO mask patterns are applied and evaluated across four penalty functions ($N_1$ adjacent runs, $N_2$ $2 \times 2$ blocks, $N_3$ 1:1:3:1:1 patterns, and $N_4$ dark module balance). The lowest-penalty mask is selected. 5. Vector & Canvas Rendering: The final matrix is converted into an SVG vector document (with crisp crispEdges geometry) or drawn to an OffscreenCanvas for 300 DPI PNG raster export.
Stack: WebAssembly • Multi-threaded Web Workers • HTML5 Canvas API
Privacy: Files never leave your device or touch a cloud buffer; analytics run only with your consent.
Complementary Tools in this Workflow
Chain these client-side utilities together for high-performance creative workflows.
Dummy Placeholder Maker
Generate custom dimension placeholder graphics with label texts.
Barcode Image Generator
Generate Code-128, EAN, and UPC barcode image graphics.
Compress Image
Reduce JPG, PNG, and WebP file weight without losing visible clarity. Fast, 100% private in-browser compression.
Resize Image
Scale exact pixel dimensions or percentages with locked proportions and format conversion.