Nothing leaves your browser
Encoding, styling and export all happen locally. No account, no upload, no tracking pixel — open the page offline and it still works.
Sixteen content types, full control over colours, shapes, logos and frames. Everything runs in your browser — your data never leaves this device.
Pick a type, fill in the details, style it, download it.
What should happen when someone scans it?
Enter the details to encode.
Presets to start, then fine-tune anything.
Low contrast between foreground and background — scanners may struggle with this combination.
Drop a logo here or click to browse
PNG, JPG, SVG or WEBP · stays on your deviceEvery type below builds a standards-compliant payload that any phone camera understands.
The details that decide whether a code scans on a poster at three metres.
Encoding, styling and export all happen locally. No account, no upload, no tracking pixel — open the page offline and it still works.
Every code is generated as SVG, so raster exports up to 4000 px are resampled from clean geometry rather than upscaled pixels.
Add a logo and the correction level is raised for you, so the covered modules stay recoverable instead of quietly breaking the code.
Five call-to-action frames with auto-fitting text. A framed code with the words “scan me” measurably beats a bare square on a flyer.
Pick a foreground too close to your background and you get a warning before you waste a print run, not after.
The data lives in the pattern itself. Nothing to renew, no redirect service to go dark and take your printed codes with it.
No. These are static codes — the destination is encoded directly into the pattern. There is no server in the loop, so there is nothing that can expire, rate-limit or shut down. The trade-off is that you cannot change where a printed code points afterwards; that requires a dynamic code and a redirect service.
Yes. QR Code is a registered trademark of Denso Wave, but the underlying specification is open and free to use. Codes you generate here are yours to print on packaging, menus, business cards or billboards.
A practical floor is about 2 × 2 cm for a short URL at typical scanning distance. The rule of thumb is that scanning distance should be roughly ten times the code’s width. Keep the quiet zone — the empty margin — at four modules or more, and shorten your URL to reduce the module count.
A logo hides modules. Error correction can reconstruct a limited share of them: level H recovers about 30%. Keep the logo under roughly a quarter of the code’s width, leave the correction level at H, and re-test. This tool raises the level automatically when a logo is present.
You can, and most modern phone cameras handle it. Older and industrial scanners often do not, because the specification assumes dark modules on a light field. If the code is going somewhere high-stakes, keep it dark-on-light.
No. The encoder, renderer and export pipeline are all JavaScript running in your browser. Saved codes go to this browser’s local storage and nowhere else. You can disconnect from the network and the page keeps working.