WiFi QR code generator
Generate a QR code that joins a WiFi network. Semicolons and commas in the SSID or password are escaped properly, which is where hand-written payloads break.
WiFi QR codes are not URLs
The payload is a semicolon-delimited key/value string — WIFI:T:WPA;S:MyNetwork;P:secret;; — from a convention that predates any standard for it. There is no scheme registry entry and no RFC; phones simply recognise the shape.
The escaping rule nobody implements
Because ; and : are structural, any of \ ; , : " appearing in your SSID or password has to be escaped with a backslash. A network called Café; Guest or a password containing a colon breaks a naively concatenated payload — and it breaks silently: the code scans, and the phone tries to join a network with a truncated name.
Hidden networks
A network that does not broadcast its SSID needs the hidden flag, or the phone will scan the code, look for the network, not see it, and give up. If your code works at home but not at the office, this is usually why.
Print it at level H
These codes end up taped to walls, printed on table cards and laminated. They get scuffed, curled and photographed at an angle. Error correction is fixed at the highest level here for exactly that reason — the extra density costs nothing on paper.
Your password stays in this browser
The QR code is generated by JavaScript on this page. Nothing is uploaded, so the password does not appear in anyone's server logs, including ours. That is worth checking rather than trusting — the network tab will show no requests.
Related tools
- QR code generatorGenerate a QR code as SVG or PNG, with a chosen error-correction level and an optional centre logo. Everything runs in your browser; nothing is uploaded.
- tel: and sms: link generatorBuild click-to-call and click-to-text links. Numbers are normalized to the RFC 3966 form, with phone-context added where a local-form number needs it.
- geo: link generatorBuild a geo: link from coordinates or a pasted map URL, with an uncertainty radius and a label. Coordinates are range-checked and trimmed to useful precision.