QR Code Generator
Make QR codes for a link, WiFi network, business card, email, SMS or phone number — customise the colours and download as PNG or SVG. Free, no sign-up, no expiry.
A QR code is a link you can print. Someone points a camera at it and lands on your page, connects to your WiFi, or saves your contact details — no typing, no spelling out a URL over the phone.
Pick a type, fill in the details and download. These are static codes: the data is encoded in the pattern itself, so there is no account, no tracking redirect and no expiry date. Print it once and it works in ten years.
Where QR codes actually pay off
- Business cards: put a vCard QR — one scan saves your contact to their phone.
- Restaurants & retail: menu / offers / feedback form via WiFi + URL QRs.
- Marketing: track scan-conversion by using a UTM-tagged URL (build one here).
- WiFi sharing: guests scan → auto-join without typing passwords.
All generated in your browser — nothing is sent to a server.
How to use the QR Code Generator
-
Choose the code type
URL for a web page, WiFi for network access, vCard for contact details, and email, SMS or phone for direct actions. The fields change to match.
-
Fill in the content
For a URL, include https:// — without it some scanners treat the text as a plain string rather than a link. Shorter content produces a simpler, more reliable pattern.
-
Adjust colours if you need to
Keep strong contrast between foreground and background. Dark pattern on a light background is what scanners expect; inverting it breaks many camera apps.
-
Pick your download format
PNG for screens and quick print jobs. SVG for anything going to a printer at scale — it is vector, so it stays razor sharp at any size.
-
Test it before you print a thousand of them
Scan the final file with at least two different phones, from about arm's length, under normal lighting. Test the printed proof too, not just the file on screen.
What this tool does
Static versus dynamic — and why static is usually right
Every QR service falls into one of two camps.
Static codes encode the destination directly into the black-and-white pattern. Scan it and the phone reads the URL straight off the image. Nothing sits in between. The code works forever, needs no account, and cannot be switched off — but the destination is fixed, and you get no scan analytics.
Dynamic codes encode a short redirect URL belonging to the QR provider, which then forwards to your real destination. You can change the target later and you get scan counts. The catch is that your printed material now depends permanently on that company staying in business and your subscription staying paid. Plenty of businesses have discovered this the hard way when a free tier turned into a paywall and every printed code went dead.
This generator makes static codes. For most use — a menu, a business card, a shop window, a brochure — that is the safer choice. If you want changeable destinations without trusting a third party, point the static code at a short URL on your own domain, such as yoursite.com/menu, and change where that page redirects whenever you like. You keep control and the code never expires.
What each type is for
URL
The common case. Always include the protocol. Pair it with UTM parameters if you want to measure the campaign in analytics — tag the URL first, then generate the code from the tagged link. It is the only reliable way to attribute offline traffic.
WiFi
Encodes the network name, security type and password. Guests scan and connect without anyone reading out a 20-character password. Ideal for cafés, clinics, salons, co-working spaces and guest rooms. Worth remembering: the password is plainly readable to anyone who decodes the image, so this is for guest networks, never for the network your billing system sits on.
vCard
Contact details in the format phones understand. One scan and your name, number, email, company and website land in the person's address book, spelled correctly. On a business card it removes the most common failure point — nobody ever types the card in.
Email, SMS and phone
Each opens the relevant app pre-filled. An email QR can carry a subject line and body, which makes it useful for support requests or enquiry forms where you want the message to arrive pre-categorised.
Making codes that actually scan
Most QR failures come down to four things.
Size
The working rule is that the code should be at least one tenth of the scanning distance. Read from 30 cm — a business card or a menu — and 3 cm square is enough. Read from three metres — a shop window or a standee — and you need 30 cm. Wall posters and hoardings need to be far larger than people expect, and a code too small for its distance simply never gets scanned.
Quiet zone
The white margin around the pattern is part of the code, not decoration. It needs to be at least four modules wide — roughly the width of four of the small squares. Designers crop it constantly to make things fit, and a cropped quiet zone is one of the most common reasons a code fails on some phones and works on others.
Contrast and inversion
Dark pattern, light background. You can use brand colours as long as the contrast stays strong, but do not invert to light-on-dark: many camera apps look specifically for the dark-on-light arrangement and will not recognise the reverse. Avoid gradients and background photographs behind the pattern.
Error correction
QR codes carry redundant data so they still work when partly damaged. Four levels exist: L recovers about 7% of the code, M about 15%, Q about 25% and H about 30%. Higher correction means a denser pattern, so there is a trade-off. Use M for screens and clean print. Use H for anything that will get scuffed, folded or rained on — outdoor signage, packaging, delivery labels — or when you want to place a small logo in the centre.
Print details that matter
Use the SVG download for anything going to a professional printer. It is vector, so the printer can scale it to any size without the pattern going soft. A PNG blown up from 300px to A3 produces fuzzy edges, and fuzzy edges are exactly what defeats a scanner.
Print in solid black rather than a rich black built from four inks — misregistration between plates blurs the module edges. Avoid glossy laminate where you can; glare from overhead lighting is a genuine scanning problem in shops and restaurants. And matte or uncoated stock scans more reliably than high-gloss.
Above all: print a proof and scan it. A code that works perfectly on your monitor can fail on paper because of size, ink spread or finish.
Give people a reason to scan
A bare QR code on a poster gets ignored. Nobody points a camera at an unexplained square. Add a short line saying what happens next — "Scan for the menu", "Scan to connect to WiFi", "Scan to save my contact" — and the scan rate rises immediately.
Place it where a phone can comfortably reach: roughly chest to eye height on a standee, not at floor level or above a doorway. And make sure the destination is mobile-friendly, because every single visitor arriving through a QR code is on a phone.
Privacy
Everything here is generated in your browser using JavaScript. The URL, the WiFi password, the contact details — none of it is transmitted to a server, logged or stored. That matters particularly for WiFi and vCard codes, which contain data you would not want sitting in someone else's database.
Frequently asked questions
Do these QR codes expire?
Can I change where a QR code points after printing it?
How big does a QR code need to be?
Why does my QR code fail to scan on some phones?
Should I download PNG or SVG?
What does the error correction level do?
Is it safe to put my WiFi password in a QR code?
Can I track how many people scan my code?
Need help beyond free tools?
Get a fast, beautiful, SEO-ready website from Vikram's studio — trusted by 1000+ brands.
Web Design & Development
Award-winning WordPress, ecommerce & custom sites — from concept to launch.
ExploreSEO & Growth
Technical SEO, content playbooks & local ranking — measurable growth every month.
ExploreSoftware Development
PHP + Laravel + Node.js — custom CRMs, admin panels & APIs. Scale-ready.
Explore
