Wi-Fi QR Code Generator
Enter your network name and password to make a code guests scan to join, without typing. It’s made in your browser: the password is never sent or saved.
Exactly as your devices show it, capitals included.
Security
Your network name and password stay on this page: they’re not sent, saved or put in the address bar.
More optionsError correction M · black on white · PNG 1024 px
Error correction
How much of the code can be damaged and still read. Higher levels make a denser code; M suits most uses.
Colours
Contrast 21.0:1. Dark on light with strong contrast: easy to scan.
PNG size
Both downloads include the quiet zone, a light margin 4 modules wide that readers need around the code. Keep it when you place the code in a design.
ExampleWi-Fi QR code, static
33 × 33modules
It holds the network details itself, so it never expires and works without this site.
- Version
- 4 (of 40)
- Data
- 50 of 62 bytes
- Reads back
- Checking…
How this works: Method, 10 sources, Checked against 1 worked example,
How this works
Method
A picture or camera frame is decoded on this device, by the browser’s own barcode detector where it has one, else by the open-source jsQR decoder (a still image is retried smoothed and at half size). The text is shown, never opened: a link’s real domain is found with common Public Suffix List endings and checked for short links, look-alike letters, text before an @, IP addresses and plain http. New codes are encoded as UTF-8 in the smallest version that fits, then decoded again to check they read back.
Sources
- ZXing wiki: Barcode Contents (Wi-Fi, MECARD, URL)
- ISO/IEC 18004:2024, QR Code bar code symbology specification (2024)
- RFC 6350: vCard Format Specification (4.0) (2011)
- RFC 2426: vCard MIME Directory Profile (3.0) (1998)
- MDN: BarcodeDetector
- MDN: MediaDevices.getUserMedia()
- RFC 3492: Punycode (2003)
- Public Suffix List
- WCAG 2.2, 1.4.3 Contrast (Minimum) (2023)
- FTC: Scammers hide harmful links in QR codes (2023)
How it’s tested
One worked example for this page is checked by automated tests before every release: given the inputs, the tool must show the expected answer.
Changes
- First version: a scanner for camera, photos and screenshots with link checks, and generators for links, text, Wi-Fi and contacts with SVG and PNG downloads.
Worked example: a code for the network Example Cafe Guest
For the network Example Cafe Guest with a WPA password, the code holds WIFI:T:WPA;S:Example Cafe Guest;P:…;;, where P is the password (the network name has no character that needs escaping).
That is 50 bytes of UTF-8. At error correction M version 3 holds 42 bytes, too few, and version 4 holds 62, so the code is version 4: 33 × 33 modules, or 41 × 41 with the 4-module quiet zone on every side.
What a Wi-Fi code holds
A Wi-Fi QR code is a line of text in a format first documented by the ZXing project and now read by the camera apps on iPhone and Android: WIFI: followed by fields. T is the security type (WPA, WEP, or nopass for an open network), S the network name, P the password, and H:true marks a network that doesn’t broadcast its name. Two semicolons end it.
Some characters have a job in that format, so they are escaped with a backslash when they appear in a name or password: the backslash itself, semicolon, comma, double quote and colon. This page escapes them for you, so a network called Cafe;Guest is written as Cafe\;Guest and still joins correctly.
Choose WPA for a network protected by a WPA, WPA2 or WPA3 password: the format has no separate type for the newer versions. WEP is only for very old routers, and nopass for an open network. The code is made on this page, and the password is never sent anywhere, saved, or put in the page’s address.
- The Wi-Fi format’s fields are T (WPA, WEP, WPA2-EAP or nopass), S (the network name), P (the password) and H (hidden), and \ ; , " and : are escaped with a backslash. Source: ZXing wiki: Barcode Contents (Wi-Fi, MECARD, URL).
- Error correction level M lets a code lose about 15% of its data and still be read, enough for a printed sign that gets a little worn. Source: ISO/IEC 18004:2024, QR Code bar code symbology specification.
Wi-Fi QR code text for each kind of network
The exact text this page puts in the code for each case, written by the same function the generator uses.
| Network | Text in the code |
|---|---|
| WPA, WPA2 or WPA3 with a password | WIFI:T:WPA;S:Example Cafe;P:quiet-river-42;; |
| Hidden network | WIFI:T:WPA;S:Back Office;P:quiet-river-42;H:true;; |
| WEP (old routers) | WIFI:T:WEP;S:Old Router;P:0123456789;; |
| Open network, no password | WIFI:T:nopass;S:Library Free WiFi;; |
| A ; in the name is escaped | WIFI:T:WPA;S:Cafe\;Guest;P:quiet-river-42;; |
| A : or \ in the password is escaped | WIFI:T:WPA;S:Studio;P:a\:b\\c;; |
Frequently Asked Questions
How do guests join with the code?
They open their phone’s camera app and point it at the code. iPhones and Android phones show a “Join network” prompt; one tap connects them. Older Android phones may need Google Lens or the QR scanner in Quick Settings. Nobody has to type the password.
Is it safe to make a Wi-Fi QR code here?
The code is made entirely in your browser: your network name and password aren’t sent to a server, saved, or put in the address bar, and the page works offline once loaded. Remember that anyone who can see the printed code can join, and can read the password from it with any QR reader, so put guest network details on public signs, not your main network’s.
Does it work with WPA3 networks?
Choose WPA: the format has no separate WPA2 or WPA3 type, and WPA is what phones expect for any network with a password. If your router is set to WPA3 only and an older phone won’t join from the code, check that the phone supports WPA3. For a work network that signs in with a username (WPA2-Enterprise), ask your IT team instead.
What if I change my Wi-Fi password?
The code holds the old password, so it stops working: make a new one with the new password and replace the printout. That is one reason to give guests a separate guest network whose password you can change without affecting your own devices.