WiFi QR Code Generator
Enter your network name and password to get a QR code that phones can scan to join the Wi-Fi without typing anything. It uses the standard WIFI: format that the iPhone and Android cameras understand. The code is generated in your browser and the password is never sent anywhere.
How to use
- Type the network name (SSID) exactly as your router shows it, including capital letters and spaces.
- Choose the security type. Most home and office networks are WPA/WPA2/WPA3; choose None for an open guest network.
- Enter the password. Tick Hidden network if the router does not broadcast its name.
- Click Generate QR code. Any warnings, such as a password that is too short for WPA, appear below the status line.
- Download the code as PNG or SVG, or click Print card for a page with the code, the network name and (optionally) the password.
- Test it: open your phone's camera, point it at the code and tap the Wi-Fi prompt.
Examples
WIFI:T:WPA;S:MyHomeWiFi;P:correct horse battery;;
WIFI:T:nopass;S:Guest;H:true;;
WIFI:T:WPA;S:Office;P:p\;a\:ss\\w\,rd\";;
WIFI:T:WPA2-EAP;S:Corp;E:PEAP;PH2:MSCHAPV2;I:alice;P:s3cret-pass;;
Supported formats
- Output text follows the ZXing WIFI: format, for example WIFI:T:WPA;S:MyHomeWiFi;P:correct horse;; with \ ; , : and " escaped by a backslash.
- Security types: WPA (covers WPA, WPA2 and WPA3 personal), WEP, nopass for open networks, and WPA2-EAP for Enterprise (802.1X) networks with EAP method, phase 2, identity and anonymous identity.
- Images: PNG at about 256, 512 or 1024 pixels, and SVG (vector, any size), both black on white with a four-module quiet zone. Error correction L, M, Q or H.
- Network names and passwords are encoded as UTF-8, so non-English SSIDs and emoji work on phones that support them.
Privacy
Your input is processed in your browser and is never uploaded. The first time you use the tool, your browser downloads its open-source processing library from cdnjs.cloudflare.com — the library is downloaded, your data is not sent. Privacy policy.
Limitations
- The tool cannot check that the name and password are correct; it encodes what you type. Scan the code once yourself before printing or sharing it.
- Checks follow the Wi-Fi rules (SSID up to 32 bytes, WPA passphrase 8–63 ASCII characters or 64 hex digits, WEP key 5/13 characters or 10/26 hex digits) but only warn; the code is still made.
- Enterprise (WPA2-EAP) codes are read by only some Android versions. iPhones ignore them, and no CA certificate is included, so the phone may still ask you to configure one.
- There is no separate WPA3 type. T:WPA works for WPA3 networks on current phones, but some older devices cannot join WPA3-only networks at all.
- Older phones (Android 9 and earlier, iOS 10 and earlier) need a QR scanner app; their built-in cameras do not read Wi-Fi codes.
- A 64-character hex password is treated by phones as a raw WPA key, not as a passphrase.
FAQ
Is my Wi-Fi password sent anywhere?
No. The text and the QR code are built in your browser with the open-source qrcode-generator library (MIT), which is downloaded from cdnjs. Your network name and password are not sent over the network, and the page does not store them.
Is it safe to put a Wi-Fi password in a QR code?
The code contains the password in plain text, so anyone who can scan or photograph it can read it. That is fine for a guest network or a card inside your home, but don't post a code for your main network somewhere public. A separate guest network is a good idea.
Which phones can scan a Wi-Fi QR code?
The built-in camera app on iPhones with iOS 11 or later and on most Android phones with Android 10 or later. Google Lens and most QR scanner apps also understand the WIFI: format.
Why do some characters get a backslash in the encoded text?
The WIFI: format uses ; to separate fields and : after each field name, so a backslash, semicolon, comma, colon or double quote in the name or password has to be written as \; and so on. Phones remove the backslashes when they read the code.
What does the hidden network option do?
It adds H:true, which tells the phone the network does not broadcast its name, so it should connect even when the name does not appear in the list of nearby networks.
Which error correction level should I choose?
M is a good default. Choose Q or H if the printed code may get scratched or partly covered; the code becomes denser, so print it larger. L gives the simplest code for screens.