What a Wi-Fi QR code contains
Unlike a QR code for a website, a Wi-Fi code does not contain a URL. It contains a short line of text in a format that phones recognise as network credentials. The format is a de-facto standard, introduced by the ZXing project and supported by the camera apps on modern phones:
WIFI:T:WPA;S:Cafe Guest Wi-Fi;P:hunter2;;
Each field is a letter, a colon and a value, and fields are separated by semicolons:
| Field | Meaning |
|---|---|
T: | Security type — WPA, WEP or nopass. |
S: | The network name, the SSID your router broadcasts. |
P: | The password. Omitted entirely for an open network. |
H: | H:true when the network does not broadcast its name. |
The double semicolon at the end is not a mistake. It closes the last field and terminates the payload, and some scanners are strict about it. An open network, with no password at all, is written like this:
WIFI:T:nopass;S:OpenNetwork;;
Because the whole thing is plain text, you can read a Wi-Fi code by eye if you decode it with any scanner app. That is worth remembering before you print one — it is the subject of the next section but one.
Why it beats reading the password aloud
Typing a Wi-Fi password is a small task with a high failure rate. It is usually long, it is usually mixed case with a number and a symbol at the end, and it is usually read out by someone who did not choose it. The predictable result is two or three attempts, a trip to the router, and a guest who gives up and uses mobile data.
A QR code removes every one of those steps. The guest points a camera at it, taps once, and is on the network. Nothing is typed, so nothing is mistyped. This is why the format is standard in cafés, hotels, clinics and waiting rooms: it is not a gimmick, it is the shortest path between a person and your network.
It also removes a small social cost. Reading a password aloud tells everyone in the room what it is, and guests who are not asking can hear it. A code is read by the person who needs it.
The password is in the code
A Wi-Fi QR code is not a key that unlocks a door. It is a written-down password that happens to be encoded as a picture. Anyone who photographs the code, or scans it, can decode the network name and password in seconds, and can then connect from anywhere in range for as long as the password is unchanged.
That is a real trade-off and it is worth naming plainly: a code that is convenient for guests is also convenient for anyone who walks past it. The practical answers are the same ones you would use for a written password on a card:
- Put guests on a guest network. A separate SSID keeps visitors away from your printers, shared folders and admin pages, and it means the guest password is not the password for anything else.
- Place it where guests are, not where the public is. Indoors, at the counter or in the room — not on an outward-facing window or a street sign.
- Plan to rotate the password. Because the code is easy to reprint, changing a guest password when it has been shared too widely is cheap.
- Do not reuse it. If your guest Wi-Fi password is also your router admin password, or the password to anything else, change that now.
If you need to hand out access that expires, that is a different feature — see when not to use one below.
Choosing the security type
The T: field has only three portable values, and picking the
wrong one is the most common reason a Wi-Fi code silently fails:
| Your network | Use | Notes |
|---|---|---|
| WPA, WPA2 or WPA3 (personal / PSK) | T:WPA |
The overwhelming majority of home and small-business networks. Phones expect WPA here regardless of the version your router advertises. |
| WEP | T:WEP |
Old hardware only. WEP is broken and should be replaced rather than shared; use this value only if the router genuinely offers nothing better. |
| Open, no password | T:nopass |
Captive-portal networks — hotels and airports — usually cannot be joined by a QR code this way, because the portal still has to be completed in a browser. |
Enterprise networks (WPA2-Enterprise, 802.1X) are a special case: they need a username as well as a password, which this format cannot carry, so a plain Wi-Fi QR code will not join them.
Passwords with special characters
Because fields are separated by semicolons, a password that contains a
semicolon breaks the payload unless it is escaped with a backslash. The
same applies to a comma, a colon, a double quote and a backslash itself.
A password of hun;ter2 has to be written like this:
WIFI:T:WPA;S:Cafe Guest Wi-Fi;P:hun\;ter2;;
If that backslash is missing, the scanner reads the password as
hun and everything after the semicolon is treated as the next
field. The code looks perfectly normal and simply never connects — which is
exactly the kind of failure that gets blamed on the phone.
QR Studio escapes these characters for you, so this only matters if you are assembling the payload by hand or moving it between tools. It is worth a moment's thought when choosing a guest password, though: a password with no punctuation at all is one fewer thing to go wrong when someone else reprints your code from a photograph.
Hidden networks
If your router is configured not to broadcast its network name, mark the
network as hidden when you generate the code. That adds H:true;
to the payload:
WIFI:T:WPA;S:HiddenNet;P:hunter2;H:true;;
Be aware of what hiding does and does not do. It keeps the network out of the list a phone shows when browsing for Wi-Fi, which is a small inconvenience for a casual snooper and no obstacle at all to anyone capturing traffic — the network name is still transmitted whenever a device connects. And support for the hidden flag is uneven: some clients ignore it and still require the network to be selected by hand, which is precisely the step the code was meant to remove.
The short version: hiding the SSID is a weak measure, and combining it with a QR code can make joining less reliable rather than more private. If your reason for hiding is that you do not want strangers on the network, a guest network with a strong password does more for you.
Printing and placing the code
A Wi-Fi code is scanned at close range, usually from 20 to 50 cm, so it does not need to be enormous — but it does need to be big enough for the densest version of itself. A long network name and a long password produce a denser code, and more modules per centimetre means each one has to be printed more precisely.
As a rule of thumb, allow about 1 mm of module for every 100 mm of scanning distance: a code read from 30 cm wants modules around 3 mm, which for a typical network gives a square roughly 10 cm across. The size calculator works this out from your actual content rather than a guess.
Material matters as much as size. Glossy laminate and glass frames reflect a phone's flash and ceiling lights straight back into the camera, and a reflection across the middle of a code is enough to stop it scanning. Matte paper or a matte laminate is the safer choice, and dark ink on a light background should stay dark on light — do not invert the colours, because many scanners assume dark modules on a light field.
Put it where people wait rather than where they walk. A code at table height, on the counter, or beside the seats in a waiting room gets used; a code on a door that people pass at speed does not. And keep the quiet zone: the generator adds a margin around the code, and trimming it to make the layout line up is a classic way to break a working code.
What guests see on iPhone and Android
On an iPhone running iOS 11 or later, pointing the built-in Camera app at the code produces a notification offering to join the network. Tapping it connects, and the password is never shown. There is no need to install anything.
On Android, most devices running Android 10 or later do the same from the camera or from the Wi-Fi settings screen. Older Android devices generally need Google Lens or a third-party scanner app, and a few manufacturer camera apps handle Wi-Fi codes inconsistently. If you expect a lot of older hardware, it is worth printing the network name and password in small text underneath the code as a fallback — it costs nothing and rescues the minority of devices the code does not work on.
When not to use a Wi-Fi QR code
A Wi-Fi QR code is the wrong tool in three situations, and each has a better answer:
- You need access to expire. The credentials are in the printed code, so they are valid until you change the password on the router. Per-guest access that ends on its own is what a captive portal with vouchers is for.
- Your network uses enterprise 802.1X. Those networks need a username, which this format cannot carry, so the code cannot join them.
- You want to know who connected. A QR code identifies nobody. If you need a record of who joined and when — for compliance, or for a bill — you need a portal that authenticates guests individually.
For a home, a café, a studio or a guest room, none of those apply, and a QR code is the right answer.
Make one in the generator
The generator has a Wi-Fi type with a live preview: enter the network name, choose the security type, and type the password. It escapes special characters for you and shows a scan preview before you download. Codes are free, carry no watermark and do not expire.
Open the Wi-Fi QR code generator
Tip: scan the code with a phone that is not already on the network before you print. A phone that already knows the password will often join without prompting, which makes a broken code look like a working one.
Frequently asked questions
Does a Wi-Fi QR code work on iPhone and Android?
Yes. Modern iPhones and most Android 10 or later devices recognise a Wi-Fi QR code from the built-in camera and offer to join the network, without a separate app. Older Android devices usually need Google Lens or a dedicated scanner app.
Is the Wi-Fi password visible in the QR code?
Yes. A Wi-Fi QR code contains the network password in readable text, so anyone who photographs it can read the credentials. Use a guest network with a password you are willing to rotate, and keep the code out of reach from outside the building.
Do I need a dynamic QR code for Wi-Fi?
No. A static code contains the network details directly, so it keeps working with no server involved. That is usually what you want, because a printed code on a wall should not depend on a subscription. If the password changes, you reprint the code.
Can I use a Wi-Fi QR code with a hidden network?
You can, by marking the network as hidden, which adds
H:true to the payload. Support is uneven: some clients
ignore the flag and still require the network to be selected manually,
so a hidden network should not be your only way to connect guests.
What if my Wi-Fi password contains a semicolon or a comma?
Those characters must be escaped with a backslash inside the payload, because the format uses a semicolon to separate fields. If you are writing the payload by hand, an unescaped semicolon truncates the password and the code will fail. QR Studio escapes them automatically.
How big should I print a Wi-Fi QR code?
Allow roughly 1 mm of module for every 100 mm of scanning distance. A code scanned from about 30 cm should be around 10 cm across. Longer network names and passwords make the code denser, so allow more size, and use matte rather than glossy material to avoid glare.
Does a Wi-Fi QR code expire?
No. The code encodes the network details directly, so it does not expire and does not depend on any service. It stops working only when the network name, password or security type changes.