How to use this QR code generator
Choose what the code should contain, fill in the fields, and the preview redraws as you type. When it looks right, download it as a PNG for anything that will be printed at a known size, or as an SVG if it will be scaled — SVG stays perfectly sharp whether it ends up on a business card or a billboard.
The type matters more than people expect
A QR code is just a container for a text string. What makes a code "a Wi-Fi code" or "a contact code" is the format of that string, which phone cameras recognise and act on. Picking the right type here writes the correct format for you.
Website link is the common case. Include the https:// — without a
scheme, some scanners treat the content as plain text and just display it instead of offering to open
it.
Wi-Fi network produces a code that joins the network on scan, with no password typing. This is the single most useful QR code most businesses can print. Get the security type right: choosing WPA when the network is open, or vice versa, makes the code fail silently. The SSID is case-sensitive and must match exactly.
Contact card generates a vCard. Scanning it opens the phone's "add contact" screen pre-filled. Keep it to name, company, phone, email and website — vCards with photos or long addresses grow the code until it becomes hard to scan.
Email, phone and SMS open the relevant app with the recipient — and optionally the subject and message — already filled in.
Error correction: what to actually choose
QR codes carry redundant data so they still scan when partly damaged or obscured. The four levels recover roughly 7%, 15%, 25% and 30% of the code. Higher correction means more data to store, which means a denser grid for the same content.
Use M for essentially everything. Use H only if you plan to place a logo in the centre — that is the trick that makes centre logos work, since the redundancy covers the area the logo hides. Keep the logo under about 20% of the code's width even at level H. Use L when you have a lot of content and need to keep the grid coarse enough to scan reliably.
Printing QR codes that actually scan
Most unscannable QR codes fail for one of four reasons, all avoidable.
Too small. The working rule is that the code should be at least one tenth of the scanning distance. Read from 30 cm — a flyer or menu — and 3 cm square is the minimum, with 4 cm being comfortable. Read from 5 metres — a poster on a wall — and you need 50 cm. Codes on shop windows meant to be scanned from the pavement are routinely a quarter of the size they need to be.
No quiet zone. The blank margin around a code is part of the specification, not decoration. Scanners use it to find the code's boundary. Four modules is the standard, which is what this tool uses by default. Cropping it away or placing the code hard against a coloured block is a common cause of failure.
Insufficient contrast, or inverted colours. Dark modules on a light background is what scanners expect. Light-on-dark works with many modern phone cameras but not all of them, and a mid-tone foreground on a mid-tone background fails everywhere. If you must use brand colours, make the foreground genuinely dark and the background genuinely light.
Printed on a curve or a reflective surface. Bottle labels, mugs and glossy laminate all distort or wash out the pattern. Increase the size and use error correction Q or H.
Test before you print a thousand copies. Scan the final artwork — not the screen preview — with at least two different phones, one iPhone and one Android, in the lighting where it will actually be used.
Why these codes have no tracking and never expire
Many free QR generators encode a link to their own domain that redirects to your destination. That gives them scan analytics, and it gives you a code that stops working the day that company shuts down, changes its pricing, or decides your free code has expired. There are documented cases of printed marketing campaigns dying because a redirect service was retired.
The codes here contain your content directly. There is no redirect, no analytics, no account, and nothing that can expire. The trade-off is real and worth stating plainly: because there is no redirect, you cannot change the destination after printing, and you get no scan statistics. If you need either of those, use a link shortener you control and encode that shortened URL here.