Free tool
QR code generator
Turn a link, phone number, email address or Wi-Fi network into a scannable code. Set the colours and error-correction level, then download a high-resolution PNG for screens or a vector SVG for print.
Appearance
The blank border scanners use to find the code. Below 2 modules, scanning gets unreliable on busy backgrounds.
Preview
Fill in the field above to generate a code
Always test the printed code with two different phones before you order a hundred copies.
Static codes, and why that matters
There are two kinds of QR code. A dynamic code encodes a short redirect URL owned by whoever generated it; scanning it hits their server, which forwards you to the real destination and counts the scan. A static code encodes the destination itself, with nothing in between.
This tool makes static codes, deliberately. A dynamic code is convenient right up until the service that owns the redirect changes its pricing, sunsets the free tier, or shuts down — at which point every sticker, menu and business card you printed points at a dead link or a paywall. Static codes cannot be edited, but they also cannot be taken away from you.
Getting a code that reliably scans
- Keep it dark on light. Scanners look for a dark pattern on a light field. Inverting that works on some phones and fails on others.
- Keep real contrast. A pale grey code on a cream background may look tasteful on screen and be unreadable on paper. Aim for a strong difference in lightness, not just in hue.
- Leave the quiet zone. The blank border is part of the specification, not decoration. Two modules is the practical minimum; four is safer on a busy design.
- Size for the scanning distance. Roughly one tenth of the distance the code will be read from.
- Shorten the URL first. Fewer characters means fewer modules, which means a code that stays readable when printed small.
- Test before you commit. Print one, scan it with an iPhone and an Android device, in the lighting where it will actually live.
What people actually use them for
The genuinely useful cases are the ones that remove typing from a moment where typing is awkward: a menu on a café table, a review link on a receipt, a Wi-Fi password on a guest room card, a booking form on a shop window, a payment link on an invoice. The cases that disappoint are the ones that ask someone to scan when a tap would do — a QR code on a website, or one in an email that the reader is already holding their phone to read.