← All tools

Stays in your browser

QR Code Generator — Free Online

Free QR code generator. Enter a URL or text, generate a QR code instantly, and download a PNG. Created in your browser.

Making QR codes that scan reliably

A QR code fails to scan for physical reasons far more often than for digital ones. The three that matter are contrast, quiet zone, and printed size. Dark modules on a light background scan; inverted codes often do not, because many scanners assume light background by default. The blank margin around the code is part of the specification, not decoration, and printers that crop it cause most of the failures people blame on the code.

Size follows distance. A rough rule for a phone camera is one centimetre of printed code per ten centimetres of scanning distance, so a code on a poster that must be read from two metres needs about twenty centimetres. Scanning never gets easier by shrinking the code to fit a layout, and the fix is usually a shorter URL rather than a smaller image.

Shorter payloads also produce sparser codes with larger modules, which tolerate worse printing and worse cameras. If a QR code must survive a menu, a sticker, or a shipping label, shorten the link first, and consider a redirect you control so the destination can change without reprinting.

FAQ

What is a QR code generator?
It encodes text or a link into a scannable QR image for phones and apps.
Is my link sent to a server?
No. The QR code is drawn entirely in your browser.
Can I encode Wi‑Fi or contact info?
Yes—paste any text, including URLs, Wi‑Fi strings, or vCards.
Why will my QR code not scan?
Check the quiet zone first: if the surrounding white margin was cropped away, most scanners give up. Then check printed size and contrast, and confirm the code is not inverted or sitting on a dark background. Testing with two different phone models separates a genuinely broken code from a picky scanner.
Do QR codes expire?
A static QR code encodes its content directly, so it works for as long as the printed image exists. Only dynamic codes, which encode a short redirect URL that a service controls, can expire or be pointed somewhere else. If you need the destination to be editable later, that is the trade-off to accept.
What does the error correction level do?
It controls how much of the code can be damaged or obscured before it becomes unreadable. Higher levels survive more damage but store less data in the same area, making the modules smaller. For print, a medium level is usually the right balance; for screens, a lower level keeps the code larger and easier to scan.

Related tools