A QR code turns a link into something anyone can open by pointing a camera at it. This generator builds the code entirely in your browser from a clean, from-scratch QR encoder, so there is no server, no account, and no tracking.
How it works
Generating a QR code is more than drawing squares. The encoder follows the QR Model 2 specification step by step:
- The URL is converted to UTF-8 bytes and wrapped in a byte-mode header with a length count and terminator.
- The data is split into blocks, and each block gets Reed-Solomon error-correction codewords computed over the Galois field GF(256). This is what lets a partly damaged or dirty code still scan.
- The data and error codewords are interleaved and woven into the module grid, skipping the finder, timing, and alignment patterns.
- All eight standard data masks are evaluated with the specification’s penalty rules, and the lowest-scoring mask is chosen so the final pattern scans reliably.
The matching BCH-protected format information is written in, and the grid is rendered to a crisp SVG.
Tips and notes
Always test a generated code by scanning it before you commit it to print. Maintain a clear quiet zone (the tool adds one automatically) and keep high contrast between the foreground and background — dark code on a light background is safest. Avoid very light foreground colors, which can defeat a camera’s edge detection. For physical use, larger module sizes and SVG export ensure the code stays sharp at any scale.