QR Code Generator

Create QR codes for links, text, Wi-Fi, contacts, email, phone and UPI, as PNG or SVG.

QR & Barcode Runs in your browser
Content

A bare domain such as example.com gets https:// added, so phones open it rather than showing it as text.

Preview

Your QR code appears here

Type a link on the left and the code draws itself as you type.

  • Static — never expires. The content is stored in the code itself, not behind a redirect link, so it keeps working for as long as the print lasts. No account, no scan limit.
  • Scan test before you print. Point your phone camera at the preview. Check it again at the real size, especially with custom colours, dots or a logo.
Design
Error correction

Higher levels survive scratches and smudges, but make a denser code.

Module style

Square is the most robust. Rounded and dots keep the three corner “eyes” solid so they still scan.

Colours
4 modules

The blank border scanners need. The standard asks for 4; go lower only if the code sits on a plain background.

SVG is vector, so it prints sharp at any size.

Centre logo (optional)

No logo

PNG, JPG, SVG or WebP. Stays on your device.

Error correction switches to H and the modules behind the logo are cleared. Capped at 30% of the width — the largest size we verified to scan reliably.

Runs entirely in your browser. Your data isn't uploaded — this page makes no network request with anything you type or upload, which you can verify in your browser's network tab. How this works.

What is the QR Code Generator?

A QR code generator turns a link, a Wi-Fi login, a contact card or a payment request into a square barcode that any phone camera can read. Choose what the code should do, fill in a short form, and the code redraws as you type. Download it as a PNG for documents and social posts, or as an SVG that stays sharp on a banner or a shop-front sticker.

The codes made here are static: everything is stored in the pattern itself. Many “free” generators quietly encode a short redirect link on their own domain instead, so the code stops working when a trial ends or the service shuts down. A static code has no account, no scan limit and no expiry — it works for as long as the print survives. It is also private: the code is built inside your browser, so a Wi-Fi password or a UPI ID is never uploaded or saved.

Beyond links, the generator writes the exact formats phones recognise: WIFI: for one-tap network joining, vCard 3.0 for contacts, mailto:, SMSTO: and tel: for drafting a message or a call, geo: for a map pin, calendar events, and upi://pay requests that open Google Pay, PhonePe, Paytm, BHIM or any other UPI app with the payee, amount and note already filled in.

How to use it

  1. Pick the content type — Link, Text, Wi-Fi, Contact, UPI, Email, SMS, Phone, Location or Event.
  2. Fill in the form. The preview updates as you type, and any field that needs fixing is flagged under it.
  3. Adjust the design if you like: error-correction level, module style, colours, quiet zone and an optional centre logo.
  4. Scan the preview with your phone camera to check it opens what you expect.
  5. Download a PNG at the size you need, or an SVG for print.

Example

A guest Wi-Fi network turned into a code that phones join with one tap.

Wi-Fi details
Network   Blue Door Café — Guest
Security  WPA / WPA2 / WPA3
Password  filter-coffee-2026
Text stored in the QR code
WIFI:T:WPA;S:Blue Door Café — Guest;P:filter-coffee-2026;;

Version 4 · EC M · 33×33 modules · 61 bytes

Features

  • Static codes that never expire — no redirect link, account or scan limit
  • Wi-Fi, vCard contact, UPI payment, email, SMS, phone, map location and calendar event formats
  • Error correction L, M, Q or H, with the smallest QR version chosen automatically
  • Square, rounded or dot modules with solid corner markers
  • Custom colours with a contrast and inverted-colour warning
  • Optional centre logo, with error correction raised to H automatically
  • Crisp PNG up to 4096 px, and scalable SVG
  • Runs entirely in your browser — Wi-Fi passwords and form details are never uploaded or stored

Frequently asked questions

Do these QR codes expire?
No. The content is encoded directly in the code, so there is nothing on a server that can be switched off. Codes from services that offer “dynamic” or trackable codes point at a redirect link on their domain, which stops working if the subscription lapses. The trade-off is that a static code cannot be edited after printing — make a new one if the link changes.
Is it safe to put my Wi-Fi password in a QR code here?
The password never leaves your device: the code is generated by JavaScript in this tab, nothing is sent to a server, and the form is not saved — reload the page and it is gone. Remember that anyone who scans the printed code can join the network, so display it where your guests are, or use a separate guest network.
How do I make a UPI QR code for my shop?
Choose UPI, enter your UPI ID (for example yourshop@okicici) and the payee name exactly as you want payers to see it. Leave the amount empty for a counter code where the customer types the amount, or fill it in for a specific bill. The code opens any UPI app with your details filled in; the payment goes straight to your account.
Which error-correction level should I choose?
M (about 15% recovery) suits most screens and paper. Choose Q or H for codes that may get scratched, printed on fabric or partly covered — and H is used automatically when you add a logo. Higher levels store the same content in a denser code, so for long content on a small print, L can be easier to scan.
PNG or SVG — which should I download?
PNG works everywhere: documents, slides, websites and messaging apps. Pick a size at least as large as it will be displayed. SVG is a vector file, so it scales to any size without blurring — the better choice for printers, designers and large-format signage.
Why will my QR code not scan?
The usual causes are low contrast, inverted colours (light modules on a dark background), too small a quiet zone, or a code printed too small for how much it holds. Keep dark modules on a light background, leave the default four-module border, and shorten the content if the preview looks very dense.
Esc

Loading the catalog…