Free QR Code Generator
Create customized QR codes for websites, text, contact details, email, Wi-Fi, and more. Personalize your design, preview the result, and download your QR code without unnecessary steps.
Choose a QR code typeOnly the fields that type needs are shown.
Add your detailsThe preview updates as you type.
Customize the lookEvery control here changes the real downloaded file.
Colour presets
Pattern colour
Background colour
Pattern shape
Corner style
Frame and centre move together — mixing them distorts the pattern scanners look for.
Centre logo
Logo size
Advanced options
Higher levels survive scratches and logos but make the pattern denser. Adding a logo switches this to High automatically.
SVG downloads are vector and stay sharp at any size, so this only affects the PNG.
The clear border around the code. The QR standard requires at least 4 modules.
Preview & testScan it with your phone before you print.
DownloadReal files, generated on your device.
Built in your browser, not on a server
Creating a code and downloading it are free — a one-time email sign-in unlocks downloads and gives you a library to manage them. The encoding itself never leaves your device.
Your content is encoded on your device
Wi-Fi passwords, contact details and payment IDs are turned into a QR code by JavaScript in your browser. No third-party QR API ever sees them. They reach our server only if you choose "Save to library", and you can delete any saved code at any time.
Codes that never expire
Static QR codes carry their destination inside the pattern. There is no redirect service in the middle that could disappear, rate-limit you or start charging, so a printed code keeps working.
It warns you before you print
Low contrast, an inverted pattern, a missing quiet zone or an oversized logo are the four reasons codes fail in the real world. The preview flags each one while you are still designing.
Print-grade exports
PNG up to 2048 pixels for screens and slides, plus true vector SVG for signage, packaging and anything a designer will scale. Both are generated from the same geometry, so they match exactly.
From blank page to scannable code in five steps
Pick a type
Choose what the code should do — open a website, join a Wi-Fi network, save a contact or start a WhatsApp chat. The form changes to match.
Enter the details
Type your content. Each field is validated as you go, so a malformed address or a missing country code is caught before you print anything.
Make it yours
Set colours from the site palette or your own brand, choose pattern and corner shapes, and drop a logo into the centre.
Test the preview
Scan the on-screen preview with your phone. This is the single most useful thing you can do, and it takes five seconds.
Download
Save a PNG for digital use or an SVG for print. Files are named by type, so sheikhfaiz-qr-wifi.png is easy to find later.
Every type, and exactly what it encodes
QR codes are just text in a visual wrapper. Different scanner behaviours come from different text conventions — here is precisely what each option writes into your code.
| Type | Encodes | What happens on scan |
|---|---|---|
| Website | https://example.com/page | Opens the page in the phone's browser. |
| Plain text | The literal text | Shows the text. Works with no internet connection. |
mailto:you@example.com?subject=… | Opens a new email, pre-filled. | |
| Phone call | tel:+919967629945 | Opens the dialler with the number ready. |
| SMS | SMSTO:+9199…:message | Opens a new text message, pre-filled. |
https://wa.me/9199…?text=… | Opens a WhatsApp chat with that number. | |
| Wi-Fi | WIFI:T:WPA;S:name;P:pass;; | Offers to join the network, no typing. |
| Contact card | vCard 3.0 | Offers to save the person to Contacts. |
| Business card | vCard 3.0 with company fields | Saves the business as a contact. |
| Social profile | The profile address | Opens the profile, usually in that platform's app. |
| YouTube | The video or channel address | Opens the video in the YouTube app or browser. |
| Location | A map link, or geo:19.186,73.026 | Opens the point in the default maps app. |
| Event | iCalendar VEVENT | Offers to add the event to the calendar. |
| Payment | upi://pay?pa=name@bank&… or an https link | Opens a UPI app with the payee filled in, or the payment page. |
| PDF / document | The file's web address | Opens or downloads the file. The file must already be hosted. |
| Image | The image's web address | Opens the image. The image must already be hosted. |
| App download | The store listing address | Opens your App Store or Google Play page. |
A note on files: a QR code holds text, not documents. The PDF and image types encode a link to a file you have already uploaded somewhere public. This page cannot host files for you, and any tool that claims otherwise is storing your file on its own servers.
Static and dynamic QR codes are not the same product
What this tool makes
Every code here is static. The website address, the Wi-Fi password or the contact details are encoded directly into the black-and-white pattern. Scanning reads the data straight out of the image — no server is contacted, nothing is counted, and nothing can be switched off later. That is why these codes are free, private and permanent.
The trade-off is that a static code cannot be edited. If the destination changes, the pattern changes, which means generating and reprinting a new code.
What a dynamic QR code would add
A dynamic code encodes a short link on your own domain, such as https://sheikhfaiz.info/r/abc123. Scanning that link hits a server, which looks up the current destination and forwards the visitor. Because the printed pattern only ever contains the short link, you can change where it goes without reprinting, and you can count scans.
That convenience is not free in engineering terms. It needs a database to store destinations, a redirect route, authenticated management screens, protection against open redirects, rate limiting, and a privacy position on scan logging. None of that can live in a JavaScript file, and any site offering "dynamic" codes from a static page is either lying or quietly using someone else's servers.
Dynamic codes are available from your dashboard once you have signed in. Create one there and you get a short link on this domain to encode, a destination you can change whenever you like, and a scan count — without reprinting anything.
When each one is the right choice
- Use static for Wi-Fi codes, business cards, contact details, menus with a permanent URL, event tickets, payment IDs and anything printed once with a destination that will not change.
- Use dynamic for billboards and packaging with long lead times, A/B tested campaign landing pages, and anywhere per-scan reporting genuinely drives a decision.
QR code generator FAQ
Yes. Every QR type, every design option and both download formats are free, with no watermark and no paid tier.
Downloading asks you to create a free account first — just an email address and a 6-digit code, no password. That account also gives you a library to save and manage your codes.
No. These are static QR codes — the data lives inside the pattern itself. There is no redirect server in the middle that could be switched off, so a printed code keeps working indefinitely.
Not with a static code. The destination is part of the pattern, so changing it means generating and reprinting. Editable destinations need dynamic QR codes, which require a server, a database and a redirect route.
The QR code itself is generated by JavaScript in your own browser, and is never passed to a third-party QR service.
Two things do reach our server, both only when you ask for them: your email address when you sign in, and the contents of a code when you press "Save to library". Everything else — including anything you type and then change your mind about — stays on your device.
Your colour and shape preferences are remembered locally in your browser. What you encoded is never stored there.
PNG for websites, email, social posts and slides. SVG for printing, large-format signage, packaging or anything a designer will resize, because vector output stays perfectly sharp at any scale.
A logo covers part of the pattern. Error correction level H can rebuild roughly 30% of a damaged or obscured code, so the generator switches to H automatically the moment you add one — and warns you if the logo is still too large.
A practical rule: the printed code should be at least a tenth of the expected scanning distance. Scanned from one metre, print it roughly 10 cm wide. Keep the quiet zone clear and never print below about 2 cm.
Almost always one of five things: colour contrast that is too low, a light pattern on a dark background, a quiet zone under four modules, a logo covering too much, or printing it too small. The preview warns you about each of these as you design.
Need QR codes that report back?
Editable destinations, scan analytics and campaign-level tracking need a proper backend — a database, a redirect route and authenticated management. If that is what your campaign actually requires, let's scope it.
Start a conversationMore from Sheikh Faiz
QR codes are one small part of getting people from the physical world into a funnel that converts. If you are planning a campaign around them, these may help: performance marketing for paid acquisition, UI/UX design for the landing page the code opens, SEO for the organic side, and lead generation for what happens after the scan. You can also browse recent projects or read about who is behind this site.