A WiFi QR code does not contain a link. It contains a short, standardised line of plain text that describes a network: its name, its security type and its password. Modern phones recognise that pattern and offer to join the network directly from the camera app, which is why cafes, guest houses, dental waiting rooms, co-working desks and Airbnb hosts print them and stop answering the same question forty times a week.
Because the payload is just text, you build it yourself and paste it in. The template is already loaded in the box below, so you only need to replace the network name after S: and the password after P:. Everything is assembled and rendered on your own machine, meaning your WiFi password is never transmitted to us or to anyone else.
Style it to match the room, then export SVG and print it at whatever size you need. A table tent, a small card by the till, or a sign inside a cupboard door all work; the code does not expire and does not depend on any service staying online, because the credentials are encoded directly inside it.
The WIFI payload format, field by field
The syntax comes from a widely adopted convention that both iOS and Android implement. It is a single line, fields are separated by semicolons, and the line closes with two semicolons.
T is the authentication type and accepts WPA (use this for WPA, WPA2 and WPA3), WEP for genuinely ancient hardware, or nopass for an open network. S is the SSID, the network name exactly as it is broadcast. P is the password, which you omit for open networks. H:true can be appended to mark a hidden network, which tells the phone to probe for an SSID that is not being advertised.
If your SSID or password contains a semicolon, comma, colon, double quote or backslash, escape that character with a backslash. A password of pa;ss becomes P:pa\;ss. Forgetting this is the single most common reason a WiFi code silently joins nothing.
WIFI:T:WPA;S:MyNetwork;P:MyPassword;;
T auth type WPA | WEP | nopass
S SSID exact network name, case sensitive
P password omit entirely when T:nopass
H hidden optional, add H:true; for hidden networks
Open network: WIFI:T:nopass;S:CafeGuest;;
Hidden network: WIFI:T:WPA;S:BackOffice;P:s3cret;H:true;;
Escaped chars: WIFI:T:WPA;S:Bar\;Grill;P:pa\;ss;;
Where it works, and one security note
On iPhone, the native camera app has offered to join WiFi from a QR code since iOS 11. On Android it has been built into the camera or Google Lens since Android 10, and many manufacturer camera apps supported it earlier. Older devices may need a dedicated QR reader app, but at this point that is a small minority of phones in circulation.
The security note matters: a printed WiFi QR code is exactly as secret as the wall it is taped to. Anyone who can see it, or photograph it from across the room, has your password. That is fine for a deliberately shared guest network and a bad idea for the network your point-of-sale terminal, NAS or office machines sit on.
The clean pattern is to enable the guest network on your router, give it its own password, and generate the code for that. Guests get one-scan access, your internal devices stay on a separate segment, and you can rotate the guest password and reprint a sticker without touching anything else.
Print a WiFi QR code your guests can actually use
Free, unlimited, no sign-up, and nothing you type ever leaves your browser.
↑ Back to the generator