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 Parse a URL Into Its PartsPaste any URL into the URL Parser to instantly see its protocol, host, port, path, query parameters and fragment, broken out in your browser.
- How to Generate a UUID (v4 or v7) OnlineUse the UUID Generator to create random v4 or time-ordered v7 UUIDs in bulk, with options for case, hyphens and brace-wrapped formatting.
- How to Scan a QR Code from an Image or ScreenshotUpload a QR code photo or screenshot to read its link, Wi-Fi password or contact details instantly, decoded in your browser with no app install.