In short
Put the network name, the password and the security type into the code itself, and a phone’s camera offers “Join network” in one tap — no page to load, nothing to download and no app. The details live in the pattern, which is what makes it work before the guest has any internet, and also means a new password needs a new code. QRVane’s Wi-Fi tab builds that code in your browser, so the password never reaches us.
Why a link cannot do this job
No web page can join a phone to a Wi-Fi network. Browsers have no way to do it: on an iPhone the only route is installing a configuration profile, which is several steps through Settings with an “Unverified” warning on the way, and on Android it needs an app. So a code that opens a page can show the guest the password to copy, and that is the whole of what it can do.
A Wi-Fi code works differently. Rather than a web address, the pattern spells out one line of text that phones have read for years, and the phone’s own Wi-Fi settings do the joining. Nothing is loaded and no internet connection is needed to read it — which matters more than it sounds, because a guest has no internet until they are on the network.
What the code holds
The line inside a Wi-Fi code looks like this: WIFI:T:WPA;S:Cafe Guest;P:flat-white-42;;. Three fields do the work.
- `S` — the network name. The SSID, exactly as the router broadcasts it, capital letters included. “Cafe Guest” and “cafe guest” are two different networks to a phone, and a space on the end is part of the name.
- `P` — the password. Also exactly, capitals included. Left out altogether for an open network.
- `T` — the security type.
WPAcovers WPA, WPA2 and WPA3, which is almost every router sold this century.WEPis for routers old enough to be worth replacing.nopassis a network with no password at all.
A fourth field, H:true, is for a network that does not broadcast its name. Set it only if the name is genuinely hidden on the router: a phone looks for a hidden network differently, and the join fails either way round.
Punctuation in the password
The semicolon is what separates one field from the next, so a password with a semicolon in it breaks the code unless that semicolon is marked as part of the password rather than the end of a field. Five characters need that mark — \, ;, ,, : and " — each written with a backslash in front of it. A password made only of hexadecimal digits, deadbeef12 for instance, has to be wrapped in quotation marks as well, or a phone can read it as a WEP key in hexadecimal instead of the text you meant.
This is the usual reason a hand-made Wi-Fi code scans but will not join. QRVane’s Wi-Fi tab does the escaping and the quoting for you. If you are writing the line yourself, test it on an iPhone and on an Android phone before anything goes to print.
Which phones offer the one-tap join
An iPhone’s own Camera app has read Wi-Fi codes since iOS 11, released in 2017: point it at the code and a banner offers the network, then Settings asks you to confirm. Android has done the same since Android 10, released in 2019, through the Camera app or Google Lens. Older phones, and a few Android skins, want a QR scanner app first: the format is a standard rather than anyone’s private invention, so a scanner app reads the same code a camera does.
The phone has to be in range of the network for the join to finish. A guest who photographs the code and scans the photo at home gets nothing, which is sensible rather than a fault.
Where to print it
- On the table. A table tent or a small card is where a guest looks first, and it is within a seated arm’s length of the phone.
- By the counter, at eye level. A code behind glass, below the till or at the back of a shelf is a code nobody scans.
- Not only on the router. The sticker on the router is for staff. A guest should not have to lean over a counter to read it.
Print the network name beside the code in readable text, and the password too if the network is for guests anyway. A phone that will not scan, and every laptop, then still has a way in. How big to print a QR code works out a width for each of those places.
When the password changes
Phones join straight from this code. If the password changes, make a new one.
There is no way round it: the password is in the pattern, and ink cannot be rewritten. So it is worth deciding how often the guest password will change before a batch goes to print. A café that rotates it every month wants cheap cards it can reprint; one that sets a guest password and leaves it alone can print something that lasts.
If the thing you want to change later is a page rather than a network — a menu, a booking form, a review link — that is a different kind of code, and one you can point somewhere new after printing. How to change where a QR code points covers it, and putting a menu behind a QR code is the version of it most cafés want.
A separate guest network is worth the ten minutes
Whatever code you print, the network it joins people to should not be the one the card terminal, the till and the office computer are on. Most routers have a guest network setting that gives visitors internet and nothing else; switching it on takes a few minutes in the router’s settings and is the single most useful thing on this page. Print the code for that network, not the main one.
What QRVane keeps
Nothing. The Wi-Fi code is built in your browser: the network name and the password are never sent to us, never written to our database and never part of any scan count. There is no page behind this code and no short link inside it — the network details are the whole of its content. It sits outside the 14-day free period and outside the plans, and it does not count towards the codes a plan keeps live.
Downloading it still asks for your email address and the 4-digit code we send, because that is how any code gets an owner. The file saves itself as soon as the code is verified. Design a code, give an email address, and type the 4-digit code we send to it. There is no password and nothing to set up. The code belongs to that address, so only someone who can read that inbox can change it, see its scans or buy a plan that keeps it live.