Guide
How to Make a QR Code for Wi-Fi
A Wi-Fi QR code is a static image whose payload follows a compact text convention beginning with WIFI: and ending with ;;. Compatible phones can offer to join the named network. Incompatible scanners may only show the raw string. Matrix & Mark’s Wi-Fi QR code generator builds that string in the browser and never sends the password to a server.
What the payload contains
The usual fields are:
- T — security type: WPA (used here for WPA/WPA2 Personal), WEP, or nopass
- S — network name / SSID
- P — password, omitted for open networks
- H — hidden-network flag when the SSID is not broadcast
A password-protected example used on this site is fictional:
WIFI:T:WPA;S:PrintLab;P:sample-pass-only;;
An open guest network looks like:
WIFI:T:nopass;S:Studio Guest;;
Network name
Type the SSID exactly as the access point presents it, including spaces and capitalization. The generator does not look up nearby networks. If the printed name and the real SSID differ by a single character, devices that parse the QR code will try the wrong network.
Security type
Choose WPA/WPA2 Personal for typical home and studio passwords, WEP only when the access point still uses WEP, and No Password for an open network. The studio will not invent a type. For open networks it omits an unnecessary password field instead of encoding an empty P:.
Password handling
Enter the password in the local field. It is hidden by default; Show password and Hide password only toggle the input type on screen. The value is not written to localStorage, not appended to the page URL, not sent to an API, and not logged by the site scripts. PNG and SVG filenames use matrix-mark-wifi plus a size, never the secret itself.
QR encoding is not encryption. The password sits in the payload in a form any decoder can reconstruct. Anyone who photographs the label can recover the credentials later. Use a guest SSID when you can, and treat the printed square like a password card left on a table.
Hidden networks
If the access point does not broadcast the SSID, check Hidden network. The payload then includes H:true; so that devices which honor the flag can still propose the name. Hidden networks are not a security boundary. They only change discovery. The QR code still carries whatever password you encoded.
Special-character escaping
In this convention, backslash, semicolon, comma, colon, and quotation mark must be prefixed with a backslash so a parser does not treat them as field separators. The generator applies that escaping for you. If your SSID is Lab;North, the S field becomes Lab\;North in the payload. Do not add extra backslashes by hand unless you are constructing the string outside the form.
How scanning works
A compatible camera app decodes the text, recognizes the WIFI: prefix, and may show a join sheet prefilled with SSID and security. You typically still confirm the join. The website does not connect to the network and cannot see whether the join succeeded.
Device compatibility
Support varies. Some phones join from the system camera. Others need a vendor QR utility. A generic decoder may display the WIFI: string and stop. Test at least two devices before you rely on a stack of guest cards. Keep the SSID printed in ordinary type next to the code as a fallback. If a device shows the payload but never offers a join button, the QR matrix can still be correct; only the application’s Wi-Fi helper is missing.
Worked example: open network
In the Wi-Fi generator, set Network name to Studio Guest, security to No Password, leave the password empty, and leave Hidden network unchecked. Generate, download SVG for a table tent, and print at the medium 70 mm size. Scan from a second phone while standing where guests will stand. If the phone only shows text, the payload is still correct; the application simply does not implement Wi-Fi joining.
Worked example: WPA with a semicolon in the SSID
Set SSID to Press;Room, security to WPA/WPA2 Personal, password to sample-pass-only. The encoded payload should escape the semicolon in the name. Copy encoded content and confirm you see S:Press\;Room. Then scan. If you had typed the escaping into the SSID field yourself, the stored name would be wrong.
Testing the code
Forget the network on a test phone, scan, and join. Confirm traffic works. Repeat after printing, because toner spread and glossy stock change module edges. If the paper code fails while the screen code works, enlarge the print or raise contrast before you change the password. A second scan after the ink has dried is worth the extra minute, especially on inexpensive inkjet stock that looks darker while wet.
More printing practice: how to print QR codes. For other payload types see links, email, SMS, and contacts.
FAQ
Does a Wi-Fi QR code hide my password?
No. It stores the password in a standard, decodable format.
Can I revoke a printed Wi-Fi code?
Only by changing the network password or retiring that SSID. The image does not expire.
Why did one phone join and another show text?
SMS, WIFI, and vCard handling is application-specific. The matrix can be valid even when the OS ignores the prefix.
Open the Wi-Fi generator to encode a network you control, using a fictional password while you practice.