No sign-up · No watermark
Free QR Code Generator
Make a QR code for a link, WiFi network, contact card, menu, PDF and more, right here in your browser: it’s free, needs no sign-up, adds no watermark, and the static codes you make never expire.
- No sign-up
- Never expires
- No watermark
- Made in your browser
Create a QR code
Your QR code appears here as you fill in the form.
Test it with your phone camera before you print or share it: point the camera at the preview and check it does what you expect.
Colors, logo and size
The blank border scanners need around the code. It never goes below 4 modules (the code’s small squares), as the QR standard asks.
Sharp up to 17 cm (6.8 in) at 300 dpi. SVG scales to any size.
Logo in the center (optional)
PNG, JPG, WebP, GIF or SVG. It stays in your browser and is never uploaded.
Choose a QR code type
Each type has its own form, so the code is set up correctly for what it does: joining WiFi, saving a contact, starting a chat.
URL QR code
Open any web page: your website, a booking page, a review link.
Text QR code
Show a short message, code or note. Works without internet.
WiFi QR code
Let guests join your network by scanning, with no password to type.
vCard QR code
Share your contact details. One scan saves them to the phone.
Email QR code
Open a new email with the address, subject and message filled in.
SMS QR code
Start a text message with the number and message filled in.
Phone QR code
Show your number with a Call button. No typing, no misdials.
WhatsApp QR code
Open a WhatsApp chat with you, with a first message ready.
Location QR code
Open a place in Google Maps for directions.
Event QR code
Add your event to the scanner’s calendar in one tap.
Menu QR code
Link tables and windows to your menu page or PDF.
PDF QR code
Open a brochure, manual or price list you’ve put online.
Social media QR code
Open your Instagram, TikTok, Facebook, YouTube or LinkedIn profile.
App store QR code
Send people to your app on the App Store or Google Play.
Static vs dynamic QR codes
A static QR code contains its content directly: the link, the WiFi password, the contact card. Every code you make on these pages is static. It’s free, needs no account, and never expires, because there’s nothing in between the code and its content that could be switched off. The catch: it can’t be changed once printed, and nobody can count its scans.
A dynamic QR code contains a short CirculateQR link that forwards to your content. You can change where it leads after printing, see how many people scanned it and when, and send different people to different places by device, time or location (time and location routing need a paid plan). Dynamic codes need a free CirculateQR account. On the free plan a dynamic code stays live for 14 days after you publish it; on a paid plan your codes stay live with no time limit, or you can keep a single code for a one-time $5.
| Feature | Static (free here) | Dynamic (CirculateQR account) |
|---|---|---|
| Price | Free | Free account to start; paid plans for more codes and no time limit |
| Sign-up | None | Needs a CirculateQR account |
| Expiry | Never expires | Free plan: live for 14 days after publishing. Paid plans: no time limit |
| Change it after printing | No: a new destination needs a new code | Yes, any time |
| Scan analytics | No | Scans by time, device and approximate location |
| Routing by device, time or place | No | Yes (time and location routing need a paid plan) |
| Works without a server | Yes: the content is in the code | No: scans go through CirculateQR’s short link |
| Best for | WiFi, contact cards, links that won’t change | Menus, campaigns, print runs, anything you want to measure |
How to make a QR code
Choose what the code does
Make a link or text code below, or pick a type such as WiFi, vCard or WhatsApp for a form made for it.
Fill in the details
The preview updates as you type. Open “What’s inside this code” to see exactly what it holds.
Style it (optional)
Choose colors, a module style, error correction and a logo. Keep the code dark on a light background.
Download it
Download a high-resolution PNG, or an SVG that stays sharp at any size.
Test it
Scan it with your phone camera before you print or share it.
Why these codes are free
Your browser draws the code on your device, and a static code never touches our servers after that, so it costs us nothing to keep working. We give them away so you can try CirculateQR. We charge for things that do run on our servers: dynamic codes, hosted pages like menus and event pages, scan analytics and AI-designed QR codes.
Because the code is made on your device, what you type (including WiFi passwords and contact details) isn’t sent to us.
Tips for printing and scanning
- Size: print the code at least 2 cm (0.8 in) wide for something held in the hand. For signs and posters, make it about a tenth of the scanning distance: roughly 10 cm (4 in) wide to scan from 1 m (3 ft).
- Contrast: use a dark code on a light background. Light-on-dark codes and pale brand colors fail on some phones.
- Quiet zone: keep a blank border of at least 4 modules (the code’s small squares) around it. Don’t crop it or put text and graphics right up against the code.
- File type: use the SVG for print, since it stays sharp at any size. The 2048 px PNG is enough for print up to about 17 cm (6.8 in) wide at 300 dpi.
- Surface: avoid glare from glossy laminate, tight curves (bottles, cups) and folds that cut through the code.
- Test: scan a printed proof with an iPhone and an Android phone, at the real distance and in the real lighting, before you print in bulk.
QR code generator questions
Is this QR code generator really free?
Yes. Static QR codes made on these pages are free to create, download and use, including commercially, with no sign-up and no watermark. CirculateQR makes money from paid plans for dynamic codes, hosted pages, longer scan history and AI-designed codes.
Do the QR codes expire?
No. A static code holds its content (a link, WiFi details, a contact card) in the pattern itself, so there is nothing that can expire or be switched off. It works for as long as the thing it points to exists.
Do I need to create an account?
No. Fill in the form, download the code and you’re done. You only need an account for dynamic codes, which are stored on CirculateQR so you can edit them and see scans.
What’s the difference between a static and a dynamic QR code?
A static code contains your content directly: free, permanent, but fixed once printed and with no scan counts. A dynamic code contains a short link that forwards to your content, so you can change the destination after printing, see scan analytics and route people by device, time or location (some routing needs a paid plan). Dynamic codes need a free CirculateQR account. On the free plan a dynamic code stays live for 14 days after you publish it; on a paid plan your codes stay live with no time limit, or you can keep a single code for a one-time $5.
Can I add my logo?
Yes. Add a logo under “Colors, logo and size”. It’s placed in the center in your browser, never uploaded, and error correction switches to High so the code can still be read. Keep the logo small and test the code before printing.
Should I download PNG or SVG?
SVG for print: it’s a vector file that stays sharp at any size and opens in design tools. PNG for documents, slides, websites and social posts; the 2048 px option prints sharply up to about 17 cm (6.8 in) wide.
Is what I type private?
Yes. The code is made by your browser on your device. What you type, including WiFi passwords and contact details, isn’t sent to CirculateQR or anyone else.
Can I see how many people scanned my free QR code?
No. A static code takes people straight to its content without passing through a server, so nobody can count the scans. To count scans, use a dynamic code.
Learn more
- Dynamic vs Static QR Codes: What Is the Difference?Guide · QR code basics
- QR Code Size Guide for Print: Minimum Size and DistanceGuide · Design and printing
- How to Choose a QR Code Generator: 9 CriteriaGuide · QR code basics
- CirculateQR featuresDynamic codes, routing and analytics
- TemplatesHosted menus, cards, events and forms
- PricingFree plan and paid plans compared
Want a code that does more than open a link? Browse use cases for restaurants, events, retail and more.