WiFi QR Code Generator
Create a QR code that connects any phone to your WiFi network on scan — no typing the SSID or password. Perfect for cafés, Airbnbs, offices, and home guest networks. The code is generated entirely in your browser; your credentials never leave your device.
A WiFi QR code encodes your network name, password and encryption type into a single scannable string that follows the format WIFI:T:WPA;S:<ssid>;P:<password>;;. iOS 11+ and Android 10+ read this format natively from the camera app and offer a one-tap ‘Join Network’ prompt — no third-party app required. Generation runs entirely in your browser, so the SSID and password never leave your device. Two details decide whether it works. The SSID is case-sensitive and must match exactly, and any semicolon, comma, colon or backslash in the password has to be escaped with a backslash or the string parses wrongly. Set T to WPA for both WPA2 and WPA3, or nopass for an open network. Hidden networks need H:true added. The security trade-off is worth stating plainly: anyone who can photograph the printed code has your password, so treat it like a written key rather than a shared secret — which is exactly why it suits a guest network.
How does a WiFi QR code work?
The WIFI: schema was popularised by the ZXing project and is now recognised by Apple's camera, Google's Camera, Samsung's built-in scanner and every major third-party QR reader. The exact string is WIFI:T:<WPA|WEP|nopass>;S:<ssid>;P:<password>;;, with semicolons, colons, commas and backslashes escaped by a leading backslash. Hidden networks add H:true and can also be encoded. The QR itself is fully static — nothing points back to a server, no scan is tracked, and the code keeps working forever as long as the network credentials stay the same.
Common mistakes and limitations of WiFi QR codes
If you change the WiFi password you must reprint the QR — static codes can't be updated after they're generated. Very old Android phones (pre-Android 10) and older iOS versions need a third-party QR app to auto-connect. Enterprise networks that use WPA2-Enterprise/802.1X are not supported by the WIFI: schema; only pre-shared-key networks (home and small-office WPA/WPA2/WPA3) work. If your SSID or password contain unusual characters like semicolons, the escape is handled automatically here — but hand-edited QR strings elsewhere are a common source of ‘won't connect’ complaints.
Where WiFi QR codes get used in practice
The dominant deployment is hospitality. Cafés, holiday lets, dental waiting rooms and co-working spaces all put a WiFi QR on a table card or a framed notice, because the alternative — reading a 20-character passphrase aloud across a counter — is slow and error-prone. Short-term rental hosts are the heaviest users, since the code lives in a welcome book and saves a message exchange with every single guest. The operational question nobody thinks about until later is password rotation. A static QR bakes in the credentials, so any change means reprinting every card in the building. The usual answer in hospitality is a dedicated guest network with a stable passphrase, isolated from the network the business actually runs on, rotated on a schedule that matches the reprint cycle rather than a security-driven one. Schools and offices deploy these too, but usually on a guest VLAN for the same reason. Anywhere the main network carries payment terminals or internal systems, the QR should point at an isolated segment — the convenience of one-tap joining is exactly why it should not hand out access to anything sensitive.
Printing a WiFi QR code so it actually scans
A WiFi payload is usually 40 to 70 characters, which produces a version 3 or 4 QR — a comfortable density that scans reliably from about 2 cm across. That makes it practical to print on a small table card, a laminated tag hung off a router, or a sticker inside a kitchen cupboard. The main practical constraint is password length. A 63-character WPA2 passphrase pushes the payload past 100 characters and the QR jumps several versions, becoming visibly denser. If you are using a long random passphrase, print at 4 cm or larger and test from the distance a guest will actually stand. Contrast matters more than size for guest-network cards. Dark modules on a white background scan fastest; printing the QR in a brand colour on a tinted card reduces the contrast ratio and older phone cameras start to struggle. Keep the quiet zone — the blank margin around the code — at least four modules wide, because designers routinely crop it to make a card look tidier and that is the single most common reason a printed WiFi QR fails to scan.
WiFi QR code FAQ
Does this work on iPhone and Android?
- Yes. iOS 11+ and Android 10+ both recognise the WIFI: schema in the camera app and offer a one-tap ‘Join Network’ prompt with no extra app.
Is the password stored on your servers?
- No. The QR is generated locally in your browser — the SSID and password never leave your device.
What encryption type should I pick?
- Pick WPA for any modern home or business router; it covers WPA, WPA2 and WPA3. Use WEP only for very old hardware and ‘No password’ for fully open networks.
Does it work with 5 GHz networks?
- Yes. The QR encodes credentials, not the radio band — as long as the SSID matches, the phone connects on whatever band the router serves.
Can I use this for a hidden SSID?
- The base format doesn't force a hidden flag, but you can extend the QR string with H:true if you regenerate manually. Most guest use cases don't need this.
Will it work for enterprise WiFi (WPA2-Enterprise, 802.1X)?
- No. The WIFI: schema only supports pre-shared-key networks. Enterprise SSO WiFi has to be configured through a corporate profile.
Can I change the password without reprinting?
- No — static QR codes bake the credentials into the image. If your password changes, generate a new QR.
Does the QR expire?
- Never. There is no server, no account, no expiry timer. As long as the SSID and password are valid, the QR works.
WiFi QR field reference
| Field | Encoded as | Notes |
|---|---|---|
| Network name (SSID) | S:<value> | Case-sensitive |
| Password | P:<value> | Blank for open networks |
| Encryption | T:WPA / WEP / nopass | WPA covers WPA/WPA2/WPA3 |
| Hidden | H:true | Optional; rarely needed |
Full string format: WIFI:T:WPA;S:MyNet;P:secretpass;;
Last updated:
References: ZXing library WIFI schema documentation, Apple iOS Camera QR code support notes, Android CameraX QR support documentation.