π± Free QR Code Generator
Create QR codes for URLs, WiFi, text, email and phone. Customize colors. Download as PNG or SVG β free, no account.
QR codes store information in a 2D matrix that smartphones can scan instantly. They are widely used for sharing website links, connecting to WiFi networks, providing contact information, directing customers to menus and much more. This generator creates high-resolution QR codes in PNG and SVG format with custom colours for foreground and background β all generated in your browser.
Enter content to generate QR code
A page for each kind of code
The generator above covers all five types. These go further on one each β and the reader works the other way, turning a code back into text.
WiFi QR Code
Guests scan to join the network without anyone reading a password out loud.
vCard QR Code
A full contact record β name, company, phone, email β scanned straight into an address book.
Email QR Code
Opens a message already addressed, with the subject and body pre-filled.
QR Code Reader
Decode a code from a screenshot or photo and read what it says before acting on it.
What Are QR Codes Used For?
QR codes are everywhere β restaurants use them for menus, businesses for contactless payments, events for ticketing, and marketers for directing users to URLs. WiFi QR codes let guests join your network by scanning instead of typing a password. Static QR codes generated here encode data directly and never expire.
Error Correction, Size and Why Some QR Codes Fail to Scan
Every QR code carries redundant data so it can still be read when partly obscured. The standard defines four levels: L recovers about 7% of the code, M about 15%, Q about 25% and H about 30%. Higher redundancy means more modules β the small black squares β for the same content, so an H-level code is denser than an L-level one holding identical data.
The trade-off runs opposite to intuition. Level H is not simply "better": because it packs in more modules, each module is physically smaller at a given print size, and a scanner may struggle to resolve them. Level M is the sensible default for most uses. Choose H when the code will be printed on something that gets handled, wrinkled or partially covered, or when you want to place a logo in the centre β that trick works precisely because error correction reconstructs the covered portion. Choose L only for clean digital display where the code will never be damaged.
When a code will not scan, the cause is almost always one of four things. It is printed too small β aim for at least 2Γ2 cm for a short URL, and larger for longer content or for codes read from a distance. It has no quiet zone: the specification requires clear space around the code equal to four modules, and a code butted against other artwork often fails. Contrast is insufficient or inverted β dark modules on a light background is what scanners expect, and light-on-dark defeats many readers. Or the content is simply too long: a lengthy URL with tracking parameters produces a dense code that needs to be printed large. Shortening the URL is usually the fix, and it is worth testing with more than one phone before printing a thousand flyers.