QR Code Generator
A permanent, static QR code — no redirect service that can expire, start charging, or count your scans.
What the qR Code Generator does
A QR code is a two-dimensional barcode that stores text. When a phone camera reads one, it decodes that text and offers to act on it — open a link, join a network, start an email. The significant thing about the codes this page produces is that they are static: the destination is encoded directly into the pattern, so the code works forever and nobody sits between the scan and the destination.
That contrasts with most free QR services, which generate a code pointing at their own short URL and then redirect. Those are dynamic codes. They let the owner change the destination and count scans, but they also mean the service can expire your code, start charging for it, log everyone who scans it, or simply shut down — taking every printed copy with it. For a poster, a business card or a product label, a static code is almost always the right choice.
Six content types are supported. Links are the common case, and a missing https:// is
added automatically. Wi-Fi codes use the standard WIFI: format that both Android and iOS
recognise, so guests can join a network without typing a long password. Email, phone and SMS codes
use the corresponding URI schemes.
The encoder itself is written from scratch and ships with this page — there is no third-party library, no CDN request and no network call of any kind, so the tool keeps working with the connection switched off. It implements byte mode across all forty QR versions and all four error-correction levels, and its output has been checked module for module against a reference implementation.
The error-correction setting controls how much of the code can be damaged and still scan. Level M, the default, recovers from about 15% damage and suits screen and print use. Level H recovers 30% but makes the pattern denser, so the code has to be printed larger — it is the level to choose when a logo will be placed over the centre, or when the code will be printed on something that gets handled.
How to use it
- Choose what the code should contain — a link, Wi-Fi details, an email address and so on.
- Fill in the value. For Wi-Fi, enter the network name exactly as it appears, including capitals.
- Set size, colours and error correction. Keep strong contrast between foreground and background.
- Download the PNG and, before printing anything, scan it with a real phone.
A worked example
A Wi-Fi code for a guest network builds this payload:
WIFI:T:WPA;S:Cafe Guest;P:flatwhite2026;;
Printed and stuck to a table, a guest points their camera at it and is offered “Join network Cafe Guest” — no typing, no dictating a password across a room. Note that the password is stored in the code in plain text, so anyone who photographs the sign has it. That is fine for a guest network and completely unsuitable for your main one.
Sizing rule of thumb for print: the code should be at least one tenth of the intended scanning distance. A code read from two metres away needs to be roughly 20 cm across. Leave a clear quiet zone of about four modules of blank space around the pattern, and never invert the colours — scanners expect dark on light.
Frequently asked questions
Do these QR codes expire?
No. The content is encoded in the pattern itself, so there is no redirect and no service that has to stay online. A code you download today will still scan in ten years, as long as the destination it points at still exists.
Can I track how many people scan my code?
Not with a static code, by design. If you need scan analytics, point the code at a URL with campaign parameters and read them in your own analytics — that keeps the tracking under your control rather than a third party's.
Why will my code not scan?
The usual causes are too little contrast between foreground and background, inverted colours (light pattern on a dark ground), no quiet zone around the edge, or printing it too small for the reading distance. Very long content also makes the pattern dense — shorten the URL or lower the error correction.
Can I put my logo in the middle?
Yes, if you set error correction to Q or H first. Those levels tolerate 25–30% damage, which covers a logo of up to roughly a fifth of the code's width in the centre. Always test the finished image with several phones before printing it.