Generate a QR code for a link, Wi-Fi network, email address, phone number, or plain text. Download it as PNG or SVG, in your own colours.
No account, no expiry, no redirect. The code encodes your data directly — it does not point at a tracking URL that could stop working or start logging scans.
How to use this tool
- Pick what the code should contain.
- Fill in the details.
- Adjust size, colours, and error correction.
- Download PNG for documents and social posts, or SVG for print and large formats.
Error correction levels
QR codes carry redundant data so they still scan when partly damaged or obscured:
- L — 7% recoverable, smallest code
- M — 15% recoverable. The right default.
- Q — 25% recoverable
- H — 30% recoverable. Use this if you plan to overlay a logo in the centre, or if the code will be printed on something that gets handled.
Higher correction means more modules for the same data, so the code gets denser and needs to be printed larger.
Printing QR codes
- Print at 2cm × 2cm minimum for close scanning. As a rule of thumb, the code should be at least 1/10th of the scanning distance — a code read from 2 metres needs to be about 20cm across.
- Always keep the quiet zone — the blank margin around the code. This tool includes the spec-mandated four-module border; do not crop it off.
- Use SVG for anything printed. It scales without the fuzzy edges you get from enlarging a PNG.
- Keep strong contrast. Dark code on a light background scans best; inverted codes fail on many scanners.
- Always test-scan the final printed piece with more than one phone before ordering a thousand of them.
Wi-Fi codes
The Wi-Fi option builds a standard WIFI: payload that both Android and iOS recognise — scanning it offers to join the network without typing the password.
Bear in mind that anyone who can see the code can join your network. Print it for guests rather than posting it publicly, and consider putting guests on a separate network.
Related tools
- URL encoder & decoder — clean up a link first
- Slug generator — shorter URLs make simpler codes
- Colour converter — check your colours have enough contrast
- Image compressor — shrink the exported PNG
FAQ
Is my data sent anywhere?
No. The code is generated in your browser and the content is encoded directly into it. Nothing is logged and nothing expires.
Do these QR codes expire?
Never. The data is inside the code itself. Free QR services that "expire" are using a redirect through their own domain — this does not.
Can I track scans?
Not with a static code, and that is deliberate. If you need analytics, encode a URL with UTF parameters or point it at a link you control and measure there.
Why does my code fail to scan?
Usually: too small for the amount of data, insufficient contrast, a missing quiet zone, or a glossy surface reflecting light. Shorten the content, raise the module size, and test on paper.
Can I put a logo in the middle?
Yes, using an image editor afterwards — set error correction to H first, and keep the logo under about 20% of the code's area. Always test-scan the result.
PNG or SVG?
SVG for print and anything that will be resized. PNG for screens, slides, and social posts.
More converters
- Number Base ConverterConvert between binary, octal, decimal, hex and base 36 with exact precision for 64-bit values. Shows bit length and the smallest integer type that fits.
- Unit ConverterConvert length, weight, temperature, volume, data, speed and area between metric and imperial units. Instant, accurate and free.
- Unix Timestamp ConverterConvert Unix timestamps to human-readable dates and back. Detects seconds vs milliseconds automatically and shows ISO 8601, UTC and local time.
- Base64 Encoder & DecoderEncode text to Base64 or decode Base64 back to text, right in your browser. Handles emoji and accented characters correctly, with URL-safe output.