Web Developer Tools · · 4 min read
How to Make a QR Code for Free (Links, Wi-Fi, Contacts and More)
Make free QR codes that never expire — links, Wi-Fi, email, SMS and contacts — plus the size, contrast and error-correction settings that scan reliably.
To make a QR code, open a QR code generator such as the Toolbench QR Code Generator, paste a link (or pick a template like Wi-Fi or vCard), and download the code as a PNG or SVG. The code is generated in your browser, and because it's a static QR code with the content encoded directly in the pattern, it never expires and doesn't depend on any redirect service.
This guide covers what you can put in a QR code, the settings that matter for printing, and how to make sure every code actually scans.
Static vs. dynamic QR codes
Many "free" QR services create dynamic codes: the pattern contains a short link to their server, which then redirects to your page. That lets you change the destination later, but if the service shuts down or starts charging, every printed code breaks.
A static code stores your content directly. Nothing sits in between, so it works forever. The trade-off is that you can't change the destination after printing — so it's worth linking to a page you control and keep stable.
How to create a QR code with Toolbench
- Open the QR Code Generator.
- Type a link or text, or click a template: URL, Wi-Fi, Email, Phone, SMS or vCard. Replace the example details with yours.
- Set the size in pixels, the quiet zone (the blank border), and the error correction level.
- Pick foreground and background colours if you want to match your brand.
- Click ↓ PNG for web or quick use, ↓ SVG for print, or Copy SVG to paste into a design tool.
The preview shows the code's grid size (for example "33 × 33 modules") so you can see how dense it is.
What you can put in a QR code
| Template | What happens when scanned | Format |
|---|---|---|
| URL | Opens the web page | https://example.com |
| Wi-Fi | Offers to join the network | WIFI:T:WPA;S:NetworkName;P:password;; |
| Opens a new email | mailto:hello@example.com?subject=Hello |
|
| Phone | Offers to call the number | tel:+15555550123 |
| SMS | Opens a pre-filled text message | SMSTO:+15555550123:Hello |
| vCard | Offers to save a contact | BEGIN:VCARD … END:VCARD |
Plain text works too — the phone just displays it.
Choosing the right error correction level
QR codes contain redundant data so they still scan when part of the code is dirty, scratched or covered. More redundancy means a denser code.
| Level | Can recover from | Best for |
|---|---|---|
| L (Low) | ~7% damage | Clean screens, very long content |
| M (Medium) | ~15% damage | Most uses — the default |
| Q (Quartile) | ~25% damage | Small prints, rough surfaces |
| H (High) | ~30% damage | Codes with a logo over the centre, outdoor signage |
Printing tips that prevent scan failures
- Keep strong contrast. Dark code on a light background is the rule. Light-on-dark and low-contrast brand colours cause more failures than anything else.
- Leave the quiet zone. The blank border (4 modules is the standard) lets scanners find the code. Don't crop it or place text right against it.
- Size for distance. A common rule of thumb is that the code's width should be at least a tenth of the scanning distance — around 2 cm (0.8 in) for a business card, much bigger for a poster across a room.
- Shorter content, simpler code. Long URLs produce dense codes that are harder to scan when printed small. Link to a short, stable URL instead.
- Use SVG for print. SVG is vector, so it stays sharp at any size.
- Test before you print. Scan it with two different phones, from the real distance, in the real lighting.
Tracking scans without a dynamic code
Because static codes don't pass through a redirect service, they don't count scans on their own. Add UTM parameters to your link with the UTM Builder — for example utm_source=poster&utm_medium=qr — and scans will show up in your analytics as a separate source.
Frequently asked questions
Do QR codes from this generator expire?
No. They're static codes with your content encoded directly in the pattern. They'll keep working as long as the destination (like your web page) exists.
Can I change where a QR code points after printing it?
Not with a static code. If you might need to change the destination later, point the code at a page on your own site that you can update or redirect.
Can I put a logo in the middle of a QR code?
Yes, as long as you set error correction to H (High) and keep the logo small — well under 30% of the code's area — then test that it still scans.
Is my data sent anywhere when I create a QR code?
No. The code is drawn in your browser. The only download is the open-source QR library itself, fetched from a CDN the first time you use the tool.
How do I read a QR code from a screenshot?
Use the QR Code Decoder — drop in an image or screenshot and it shows the encoded content.
More guides
- How to Compress Images Without Losing Visible QualityShrink image files for faster sites and smaller emails: the right format, quality and size to use, plus a free compressor that never uploads your photos.
- How to Convert Text Case Online (UPPERCASE, camelCase, More)Convert text into UPPERCASE, Title Case, camelCase, snake_case, kebab-case, CONSTANT_CASE and more at once, with real, verified examples of each.
- How to Count Words and Characters Online (and Hit Every Length Limit)How word, character, sentence and reading-time counts work, the length limits that matter, and a free counter that updates as you type.