Wi-Fi QR code generator
A Wi-Fi QR code puts your network name and password into a pattern a phone can read, so a guest connects by pointing a camera at a card instead of squinting at a router label. It takes about thirty seconds to make and there is exactly one thing you need to understand before you print it.
Generate the code
The Wi-Fi password is stored in the code as plain text. Anyone who scans it — or photographs the printout — can read it.
Logo overlay (optional)
Everything is encoded in your browser. The network name and password are never sent to this site or to anyone else.
How to make a Wi-Fi QR code
Create a QR code that connects a phone to a wireless network: enter the SSID exactly as broadcast, pick the security type, add the password and print the code at a readable size.
-
Open the generator on this page
The generator below already opens on the Wi-Fi content type, so the SSID, security and password fields are in front of you. The chips above them switch to any other type if you need one.
-
Enter the network name
Type the SSID exactly as the router broadcasts it, including capitalisation and spaces. Copying it from a printed sign rather than the router is the single most common mistake.
-
Pick the security type
Choose WPA for any WPA, WPA2 or WPA3 network, WEP only for legacy hardware, or no password for an open network. There is no separate value for WPA2 and WPA3.
-
Enter the password
Type the password as it is. Separators such as semicolons, colons, commas, quotes and backslashes are escaped for you, which is the main reason not to assemble the WIFI: string by hand.
-
Test and print
Scan the preview with a phone that is not already on the network, then download the SVG and print it at least 1.5 cm across, keeping the four-module quiet zone clear.
What a Wi-Fi QR code actually contains
There is no magic and no server involved. A Wi-Fi QR code encodes a short, plain text
string in a format that started life in the ZXing barcode library and became a de-facto
standard because Android and then iOS implemented it. When a camera decodes a string
beginning with WIFI:,
the operating system recognises the prefix and offers to join the network described by
the fields that follow.
For a network called CafeAroma with the WPA2 password flatwhite2026, the entire contents of the code are this:
WIFI:T:WPA;S:CafeAroma;P:flatwhite2026;;
That is the whole payload — 40 characters, no encryption, no lookup, nothing
held anywhere. Two semicolons close the string; the trailing empty field is part of the
format and scanners expect it. An open network with no password looks like this, with the
P field
left out entirely rather than left empty:
WIFI:T:nopass;S:LobbyGuest;;
And a hidden network — one whose SSID is not broadcast — needs the
H flag,
or the phone will look for a name it can never see:
WIFI:T:WPA;S:BackOffice;P:ninecharacters;H:true;; The four fields
| Field | Value | Rule |
|---|---|---|
| T | WPA, WEP or nopass | The security type. WPA covers WPA, WPA2 and WPA3 — there is no separate value for them. nopass means an open network and is the only case where P is left out entirely. |
| S | The SSID | The network name, exactly as the router broadcasts it, including capitalisation. This is the field people get wrong most often, usually by typing the name they see in a printed sign rather than the one on the router. |
| P | The password | Omitted for nopass. WPA requires at least eight characters; anything shorter is rejected by the device, not by the code. |
| H | true, or absent | Only present for a hidden network. Without it the phone assumes the SSID is broadcast and gives up when it cannot see it. |
Escaping, and why hand-written codes break
The format separates fields with ; and keys
from values with :, so a password containing
either one would tear the string in half. Five characters —
\, ;,
,, :
and " — must be prefixed with a backslash
inside the SSID and the password. A network called
Cafe; Aroma with the password flat:white\2026 encodes as:
WIFI:T:WPA;S:Cafe\; Aroma;P:flat\:white\\2026;; The generator above applies this automatically, which is the main practical reason not to assemble the string by hand in a text editor. A code that silently drops half the password still scans; it just fails to connect, and it fails in a way that looks like a router problem.
The password is in the clear
Everything above is readable by anyone who scans the code. The QR code is an encoding, not encryption — a free scanner app shows the raw string, password included, and a photograph of a printed code carries exactly the same information as the original.
That does not make Wi-Fi QR codes a bad idea. It makes them the right tool for a password you are already comfortable handing out: a guest network in a café, the Wi-Fi in a holiday flat, a meeting room, a stall at a trade fair. It makes them the wrong tool for the network your accounting laptop is on.
If your router supports a guest network, put the QR code on that and leave the main network unpublished. Guest networks are usually isolated from the rest of the LAN, so a visitor who joins gets internet access and nothing else, which is what you wanted from the beginning. If you print codes for a public space, treat the card as you would a written password: replace it when the password changes, and do not photograph it into a slide deck that ends up online. A surprising number of conference photos have a perfectly scannable staff network on the wall behind the speaker.
Printing it so it actually scans
A Wi-Fi payload is short — the example above is 40 characters — so the code stays coarse and forgiving. At that length 1.5 cm across is enough for a phone held at arm's length; go to 5 cm or more if the card sits on a wall people read from a metre away. Download the SVG rather than the PNG when the code is going to print: the vector stays sharp at any size, while an upscaled PNG produces soft module edges that cost you scanning margin for nothing.
Keep the quiet zone. The four modules of blank space around the pattern are part of the symbol, and a code butted up against a border or a photograph is the most common reason a technically valid code will not scan. Keep the contrast conventional too: dark modules on a light background, never inverted, and never a light code on a dark card because it matched the branding.
Error correction level M is the right default here. There is no logo covering the middle and the payload is short, so there is no reason to spend modules on redundancy you do not need — and a denser pattern at level H would make the code physically larger for the same scanning distance. If the card will be laminated and handled daily, level Q buys some tolerance for scuffs. Finally, test the printed card, not the screen preview, with a phone that has never been on the network: a device that already knows the SSID will appear to connect whether or not the code is correct.
Common questions
Is a Wi-Fi QR code secure?
No, and it is important to be clear about it: the password sits inside the code in plain text. Anything that can scan the code can read it, and a photograph of a printed code is as good as the code itself. A Wi-Fi QR code is a convenience for a password you are already willing to hand out — a guest network, a meeting room, a holiday let. It is not a way to share a password secretly.
Do iPhones and Android phones both support it?
Yes. iOS has read WIFI: codes in the built-in camera since iOS 11, and Android since version 10. On older Android builds the native camera ignores the code and a QR scanner app is needed. Neither platform connects silently: both show the network name and ask for confirmation first.
What if my password contains a semicolon or a backslash?
Those characters are the format’s own separators, so they are escaped with a backslash before the code is generated. The generator on this page does that for you — type the password exactly as it is and the escaping is handled. Copying a raw WIFI: string out of a text editor by hand is where this usually goes wrong.
Can I change the Wi-Fi password later without reprinting the code?
No. The credentials are encoded directly into the pattern, not stored on a server, so there is nothing to update. Changing the password means generating and reprinting the code. That is also why the code keeps working forever if you do not change it — there is no redirect and no service in the middle that can be switched off.
Other things a QR code can hold