Create a QR code from any URL with customizable size, error correction level, and colors. Download the result as a PNG file ready for print or web use.
Enter text or a URL above to generate a QR code
A QR code is not a random grid of squares. It has a defined structure that every scanner knows how to interpret.
The key structural elements:
The data area is encoded in one of several modes: numeric (most compact for digit-only data), alphanumeric (uppercase letters, digits, and a small set of symbols), byte (arbitrary bytes, used for URLs with lowercase letters), or kanji (for Japanese characters). URLs use byte mode because they contain lowercase letters.
Reed-Solomon error correction adds redundant data that allows reconstruction of the original message even when some modules are unreadable.
| Level | Recovery capacity | Best for |
|---|---|---|
| L | Up to 7% | Screens, clean print, high contrast |
| M | Up to 15% | Standard print, slight wear expected |
| Q | Up to 25% | Curved surfaces, outdoor, fabric |
| H | Up to 30% | Heavy wear, logo overlays, poor print quality |
Higher error correction means larger, denser QR codes for the same data. A 30-character URL at level L produces a much smaller, simpler code than the same URL at level H. For screen display (phone screens, monitors, digital signs) where the image is always sharp, L or M is fine. For anything printed at small sizes or likely to be physically degraded, use H.
Every additional character increases the QR code’s complexity. A longer URL means more modules, a denser pattern, and a harder scan. Options for shortening:
devbento.dev vs devbento-tools.example.com)A QR code pointing to an HTTP URL will trigger browser security warnings on modern phones. Always use https://. If your site does not have TLS, fix that before generating QR codes.
Print a sample at the intended final size and scan it with multiple devices, including an older Android phone and a dedicated barcode scanner if your use case requires it. A QR code that scans perfectly on a high-end phone camera may fail on older hardware.
The minimum printable size for a QR code depends on the number of modules and the printing quality. A practical guideline:
For standard use (posters, business cards, packaging), a QR code printed at 2.5cm × 2.5cm or larger scans reliably at a distance of up to 25cm with a typical phone camera. The distance-to-size ratio is roughly 10:1, meaning a 2.5cm code scans from 25cm, a 5cm code from 50cm, etc.
QR phishing (quishing) exploits the fact that people cannot visually inspect a QR code. Common attacks include:
If you distribute QR codes, make it easy for users to verify the destination. Include the full URL in text near the QR code when space allows. For critical workflows (payments, account access), avoid QR codes entirely or use a trusted app that validates the destination before opening.
URL shorteners in QR codes hide the destination domain, which reduces user trust and makes phishing harder to spot. Prefer full canonical URLs in QR codes for any security-sensitive context.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.