The format every phone understands
A WiFi QR isn't a link or plain text — it's a specific string that iOS, Android, and Windows recognize as a connection prompt. The spec was published in 2012, and Android 11 / iOS 11 ship with native support.
WIFI:T:WPA;S:NetworkName;P:Password123;H:false;;What matters are the fields: T is the security type (WPA, WPA2, WEP, or nopass), S is the exact SSID (preserving case, spaces, dashes), P is the password, H flags whether the network is hidden. The two trailing semicolons aren't decoration — they're part of the spec, and many older parsers fail without them.
The three mistakes that silently break the QR
1. Unescaped special characters
If the SSID or password contains a comma, colon, semicolon, double quote, or backslash, you must escape them with a backslash. The password "p;ass,word" must be written as "p\;ass\,word" inside the QR string. Our generator handles this automatically — but if you copied the format from an old blog and built it by hand, double-check.
2. Case mismatch in the SSID
SSIDs are case-sensitive. If your network is named "Cafe-Guest" but the QR has "cafe-guest", the phone looks for a different network and fails silently (no error message — it just won't connect). Paste the name exactly as it appears in your router's network list.
3. Wrong encryption type
Most modern routers use WPA2 or WPA3, but the QR spec only knows WPA, WEP, and nopass. If your network is WPA3, pick WPA in the form — it works because iOS/Android negotiate the actual encryption when connecting. Use WEP only if your router predates 2003 (in which case, replace it). And if the network is open, pick nopass or the QR will prompt for a password that doesn't exist.
Minimum print size
The most common mistake in cafés is printing the QR too small. Rule of thumb: at 30 cm scanning distance, the QR needs at least 3 cm per side. If you're hanging it on a wall 1 meter from the tables, minimum 8 cm. For a tabletop card the customer brings to their face, 4 cm is fine.
| Scan distance | Minimum QR side | Suggested print resolution |
|---|---|---|
| 20-30 cm (table) | 3 cm | 300 DPI · 354 px side |
| 50 cm (counter) | 5 cm | 300 DPI · 590 px side |
| 1 m (wall) | 8 cm | 300 DPI · 945 px side |
| 2 m+ (window) | 15 cm | 300 DPI · 1772 px side |
Common errors and how to fix them
| Symptom | Likely cause | Fix |
|---|---|---|
| iPhone scans but no Connect button shows up | Encryption set to nopass when the network has a password | Switch the type to WPA |
| Android connects but asks for the password manually | SSID with different casing | Copy the exact name from the router |
| Some phones can't read the QR | QR is too small or low contrast | Print black on white, minimum 3 cm at 30 cm distance |
| Connects but disconnects after a few seconds | Special characters in the password not escaped | Regenerate using the form — don't paste the raw text |
| The QR works but the network doesn't appear afterwards | Hidden network without setting H:true | Check the 'hidden network' flag in the form |
UX details that matter more than you'd think
- Stick the QR at face height — not on the ceiling, not near the floor. Cameras focus best at 30-50 cm with decent light.
- Add a visible label: 'Scan for WiFi' above the QR. Without that line, many people will ignore it thinking it's a menu or a promo.
- Don't laminate it with glossy plastic. Reflections from overhead lights kill the contrast and older phones fail. Use matte paper or non-glare vinyl.
- If you put a logo in the center (see the logo guide), force ECC=H — some generators leave it at M, and covering 22% of the QR makes it unreadable.
- Rotate the WiFi password every 6 months and reprint the card. The password you taped up two years ago is in five Telegram groups by now.
What about WPA3?
WPA3 is the new standard and many routers ship it on by default since 2020. Good news: the QR format hasn't changed. Pick WPA in the generator, the phone detects WPA3 at connect time, everything works. Bad news: if your router is set to 'WPA3 only' (not mixed), phones older than iOS 13 / Android 10 won't be able to connect, QR or no QR. If your venue gets older devices, run mixed WPA2/WPA3.
Now generate your own
The form below ships with example values. Replace them with yours, download the PNG at 1024 px or more, and test with your phone before printing. If it connects, send it to the print shop. If it doesn't, check the three common errors above.