WiFi QR codes, explained
A WiFi QR code stores your network name, password and security type in the standard WIFI: format. iPhone and Android cameras read it and offer to join the network, so guests never have to type a long password.
// 10 qr types
URL · Plain text · WiFi credentials
Email with subject & body
SMS · Phone (tel:) · vCard contact
GPS location (geo:) · Calendar event
Cryptocurrency (BTC, ETH, LTC, XMR)
// output formats
PNG — at 128, 256, 512 or 1024px
SVG — infinitely scalable, ideal for print
Copy to clipboard — paste into any app
Shareable link — QR encoded in URL
ZIP archive — for bulk generation
// customization
Dot styles — square, rounded, dots
Color themes — 6 presets + full custom
Logo overlay — upload any image
Error correction — L/M/Q/H (up to 30%)
// privacy
100% client-side — QR content never sent to a server
Keeps working offline — once the page has loaded
No account — no signup, ever
No tracking of your inputs — only a cookieless page-view count
How do guests use the WiFi QR code?
On current iPhones and Android phones they open the built-in camera and point it at the code; a Join network prompt appears and one tap connects them. Some older Android phones need the QR scanner in the WiFi settings or Google Lens instead. Nobody has to spell out or type the password.
Does it work for hidden networks?
Yes. Tick Hidden network and the code includes H:true, which tells the phone to connect to a network that does not broadcast its name. The SSID must then match exactly, including capitals and spaces.
My password contains special characters. Will it still work?
Yes. A backslash, semicolon, comma or double quote in the network name or password is escaped automatically (\;, \, …), as the WiFi QR format requires. Other characters, including spaces and emoji, are encoded as you type them.
Is it safe to put my WiFi password in a QR code?
The password is stored in the code as plain text, so anyone who scans or photographs it can read it. Use a guest network for codes you hang up in public. On this page the code is made in your browser and the password is not sent to a server, but it does stay on your device: the address bar is updated to ?data=WIFI:… (so it lands in your browser history), your last six codes are kept in local storage for the recently generated list, and the ⎘ share button copies a link that contains the password.
What types of QR codes can I generate?
10 types: URL (any web link), plain text, WiFi (SSID + password + security, scans directly connect), Email (with pre-filled subject and body), SMS, Phone (click to call), vCard (full contact card — name, phone, email, org, title, address), GPS location (opens maps app), Calendar event (iCalendar format), and Cryptocurrency (Bitcoin, Ethereum, Litecoin, Monero).
How do I add a logo to my QR code?
In the ⚡ Generate tab, use logo overlay in the settings panel to upload an image (PNG, SVG, JPG …). It is drawn in the centre at about 22% of the code width, on a white rounded square. Uploading a logo switches error correction to H (also the default), so the code survives the covered centre. The logo is included in the PNG download and the copied image, but not in the SVG download or in bulk codes.
What is SVG export and why use it?
SVG (Scalable Vector Graphics) is a resolution-independent format. Unlike PNG which becomes blurry when enlarged, an SVG QR code scales perfectly to any size — ideal for business cards, posters, merchandise, presentations, and print materials. Click ↓ SVG in the download bar after generating.
How does bulk QR generation work?
Switch to the Bulk tab. Paste one URL or text per line. You can also use label,url CSV format to name each file. Click ⚡ Generate all — a QR code is created for each entry, black on white with square modules, at 256, 512 or 1024 px and the error correction level you pick. Preview them in the grid, then click Download ZIP to save all as a single archive.
How do I scan and read a QR code?
Switch to the Scan & Read tab. Either drag & drop a QR code image, click to upload one, or tap Start camera scan to use your device camera in real-time. The tool uses jsQR entirely in the browser to decode — the image is never uploaded anywhere. Uploaded images are read as dark modules on a light background, so a light-on-dark code (such as the default Terminal theme) is only recognised by the camera scan.
What dot styles are available?
Three styles: Square (standard, maximum compatibility), Rounded (rounded modules) and Dots (circular modules). The style applies to every module, including the three corner finder patterns, and is kept in the SVG download. Square is the safest choice; test rounded or dots with a few phones before you print, and keep H error correction for the best reliability.
Can I create a vCard QR code to share my contact?
Yes. Select the 👤 vCard type and fill in any combination of name, phone, email, organization, job title, website, and address. When scanned, the phone offers to add the contact directly to the address book — no app required.
Do QR codes expire?
Static QR codes never expire. The data is baked into the pattern — there is no external service or server involved. Unlike dynamic QR codes from paid services, these work forever as long as the linked URL remains active.
Is my data sent to a server?
The content you encode is not sent to a server: QR generation, SVG export, bulk processing and scanning all run in your browser with JavaScript. The page loads its QR libraries (qrcodejs, jsQR and JSZip) from the cdnjs CDN and counts page views with cookieless Simple Analytics. Two things to know: your last six codes are kept in this browser's local storage for the recently generated list, and the address bar is updated to ?data=… with the encoded content, so it lands in your browser history and in any link you share.
Can I link directly to a generated QR code?
Yes. The generator reads a data URL parameter and the address bar stays in sync as you type, so you (or an AI assistant) can build a deep link by hand. Open ?data=https%3A%2F%2Fexample.com to load that QR pre-generated — a value starting with http opens as a URL QR, anything else as a text QR. The aliases url, text and content also work, and the share button copies the current link. Links carry at most the first 300 characters of the content, so a long text or vCard is cut off in a shared link. Older #hash links keep working too.
More free tools