QR code generator

Turn any URL or text into a scannable, downloadable QR code — generated privately in your browser.

 

How a QR code turns text into a scannable grid

A QR code (short for Quick Response code) is a two-dimensional barcode invented in 1994 to track car parts. Where a supermarket barcode stores a dozen digits in a row of stripes, a QR code stores data across a square grid of black and white cells called modules, letting it pack a few thousand characters into a stamp-sized image. This tool encodes your text into that grid using byte mode and draws the result onto a canvas, which you can download as a crisp PNG.

The big squares in three corners are finder patterns: they tell a camera where the code is and which way up it sits, so it scans from any angle. The rest of the grid carries your data plus Reed–Solomon error-correction bytes — redundant information that lets a scanner reconstruct the message even when part of the code is scratched, smudged or covered by a logo.

A worked example

Type https://toolsy.one into the box. That is 18 bytes. At error-correction Level H, the encoder packs those bytes plus a generous amount of recovery data into a Version 3 grid of 29 × 29 modules. Switch the level down to L and the same text fits in a less dense Version 2 grid (25 × 25) — fewer recovery bytes means more room for data and a pattern that reads more easily from a distance. Paste a longer sentence instead and watch the version number climb as the grid grows to hold it. This tool covers the most useful range, versions 1 to 10, which is ideal for links, Wi-Fi keys and contact details; if you exceed that, it asks you to shorten the text or drop to a lower error-correction level. The line beneath the preview always reports the exact version, module count and level in use.

Choosing an error-correction level

The standard defines four levels. Higher recovery survives more damage but makes the grid denser:

LevelRecovers up toBest for
L (Low)7%Clean screens, large prints scanned from afar
M (Medium)15%Business cards, flyers, packaging — the common default
Q (Quartile)25%Industrial labels and high-wear environments
H (High)30%Outdoor stickers, signage and logo-embedded codes

Tips for codes that always scan

  • Keep contrast high. A dark foreground on a light background is the safest combination; inverting it breaks many older readers.
  • Leave a quiet zone. The plain margin around the code is part of the spec — don't crop right up to the edge.
  • Shorten long URLs. Less data means a sparser, easier-to-scan grid.
  • Test before you print. Scan the downloaded PNG with a couple of phones, especially if you changed the colours.
Privacy note: every QR code here is built on your device. Whatever you encode — a private link, a Wi-Fi key, contact details — is never transmitted to a server, and the PNG exists only in this browser tab until you download it.

Frequently asked questions

Is the data I encode sent to a server?

No. The QR code is generated entirely in your browser with JavaScript — the encoding, the matrix layout and the final PNG all happen on your device. Nothing you type is uploaded, logged or stored, so it is safe to encode a Wi-Fi password, a private URL or contact details.

What can I put in a QR code?

Any text up to a few hundred characters: a website URL, plain text, an email address, a phone number, a Wi-Fi join string, or a vCard contact block. Most phone cameras open URLs automatically; other content types are shown as text for the user to act on.

How much data can a single QR code hold?

The QR standard tops out at roughly 4,296 alphanumeric characters or 2,953 bytes at its largest version. This tool targets the most practical range — versions 1 to 10, which comfortably hold a few hundred characters — because shorter codes scan far more reliably. If you paste more than fits, it prompts you to trim the text or lower the error-correction level. For long links, shorten the URL first.

Why did my custom-coloured QR code stop scanning?

Scanners read the contrast between dark and light modules. If the foreground and background colours are too close in brightness — or if you invert them so the code is light on a dark field — many readers fail. Keep a dark foreground on a light background with strong contrast.

Can I use these QR codes commercially?

Yes. QR Code is an open standard (ISO/IEC 18004) and codes you generate here are free to use on packaging, posters, business cards or anywhere else, with no licence fee or attribution required.

What error correction level does this tool use?

It uses Level H (High), which can recover the code even if up to about 30% of it is damaged, dirty or obscured. That makes the output robust for printed stickers and signage, at the cost of a slightly denser pattern.