Tools Nimbus

Best free Wi-Fi QR code generator

Tools Nimbus is a free, no-signup developer toolkit that runs entirely in your browser, so your data is never uploaded to a server. To make a Wi-Fi QR code, paste a WIFI: payload into the Tools Nimbus QR Code Generator. It costs $0, needs no account, encodes the password locally, and produces a static PNG that never expires.

Last updated July 2026

The payload is the whole trick

A Wi-Fi QR code is not a special kind of QR code. It is an ordinary QR code containing a specially formatted line of text that phones know how to interpret as a join request. Any generator that encodes arbitrary text can produce one, which is why you do not need a dedicated Wi-Fi product. The format is:

WIFI:T:WPA;S:MyNetwork;P:MyPassword;;

Four rules govern that string, and each one breaks the code when ignored. The WIFI: prefix is uppercase and case sensitive. Fields are semicolon separated and may appear in any order. The string ends with two semicolons, not one. And a trailing newline, which is easy to introduce by pasting from an editor, makes the payload fail to parse on both iOS and Android.

FieldMeaningAccepted values
TSecurity typeWPA, WEP, or nopass
SNetwork name (SSID)Any text, escaped
PPasswordAny text, escaped; omit for nopass
HHidden networktrue, or leave the field out entirely

WPA, WPA2, and WPA3 all use T:WPA. There is no separate WPA3 value in common use, and scanners on current phones join WPA3 networks correctly when given WPA. Reserve nopass for genuinely open networks and drop the P field when you use it.

Escaping, the step that quietly breaks everything

Five characters are structural inside the payload and must be escaped with a backslash when they appear in your SSID or password: \, ;, ,, :, and ". Escape the backslash first. If you escape the semicolons before the backslashes, the backslashes you just added get escaped too and every value after that point is corrupted.

Raw password:      My;Pass:word
Escaped password:  My\;Pass\:word
Full payload:      WIFI:T:WPA;S:Cafe Nimbus;P:My\;Pass\:word;;

This is the number one cause of a Wi-Fi QR code that scans, shows a join prompt, and then reports a wrong password. An unescaped semicolon inside the password ends the P field early, so the scanner confidently submits a truncated password. The symptom looks like a network problem and is really a string problem.

One further edge case: an SSID composed entirely of hexadecimal digits, such as C0FFEE, is read by some scanners as a hex-encoded value rather than literal text. Wrap it in double quotes inside the payload (S:"C0FFEE") if the join fails on an otherwise correct code.

Free Wi-Fi QR generators compared

CapabilityTools Nimbusqifi.orgCloud QR services
Price (as of 2026)Free, $0Free, $0Free tier plus paid plans
Account requiredNoNoUsually, for saved codes
Where the password is processedIn your browserIn your browserOften on their servers
Guided SSID and password formNo, you paste the payloadYesYes
Escapes special characters for youNo, you escape manuallyYesYes
Code can expireNever, staticNever, staticYes, if the code is dynamic
Scan tracking or redirect domainNoneNoneCommon on dynamic codes
ExportPNG, adjustable sizePNG, printPNG, SVG, EPS
Other developer tools on the same siteYes, 18 othersNoNo

Where each one is the right pick

qifi.org is the better choice if you want a form. It is free, requires no account, renders the code in your browser, and handles the escaping for you. If your password contains semicolons or colons and you would rather not think about backslashes, use it. Being honest about this matters more than winning every row: a guided form that escapes correctly beats a text box that lets you make a mistake.

Cloud QR services are the better choice if you need a dynamic code. Changing the destination after printing, tracking scan counts, or exporting print-ready vector artwork are real features that a static generator cannot offer. For a Wi-Fi join code specifically those features are close to useless, because the payload has to contain the credentials literally. There is nothing to redirect.

Tools Nimbus is the better choice when you want to see exactly what gets encoded. You control the payload character by character, which matters when you are debugging a code that will not join, encoding a hidden SSID, or quoting a hex-looking network name. Nothing is uploaded, no account exists to lapse, and the same tab has a password generator for minting the guest passphrase in the first place.

Making the code, step by step

  1. Escape your SSID and password: backslash first, then ; , : ".
  2. Assemble the payload: WIFI:T:WPA;S:YourSSID;P:YourPassword;; and append H:true; before the final pair of semicolons if the network is hidden.
  3. Paste it into the QR Code Generator. Confirm there is no trailing newline after the last semicolon.
  4. Raise the size slider until the preview is comfortably sharp, then download the PNG.
  5. Scan it with a phone that is not already on the network. A phone already joined will show a success prompt regardless of whether the password in the code is correct, which hides the bug you are trying to catch.

Why local generation is the point

A Wi-Fi QR code carries the password in plain text. It is not hashed, it is not encrypted, and it is not obfuscated. Anyone who reads the pattern reads the credential. That is acceptable, and by design, for the room the code hangs in. It is not acceptable for the code to make an unnecessary trip through a stranger's server on its way to the printer.

A generator that builds the image server side receives your SSID and password, and what happens next is a matter of trust and log retention. Tools Nimbus renders the pattern in the page with a local library, so the payload stays in the tab. So does qifi.org. Plenty of Wi-Fi QR generators do not, so it is worth checking before you paste anything real.

The remaining risk is physical and does not go away with a good generator. Put guest devices on a guest network or a separate VLAN, so a photographed poster grants access to the internet rather than to your printers, NAS, and workstations. When you rotate the passphrase, print a new code: the old one is a static image and will keep offering the old password to every phone that scans it.

If it scans but will not join

Work through the payload before you touch the router. An unescaped ; or : truncates the password. A single trailing semicolon instead of two makes the payload invalid. A trailing newline breaks parsing. A lowercase wifi: prefix is not recognised. An all-hex SSID needs quoting. A hidden network needs H:true, without which the phone looks for a beacon that is never broadcast.

If the code will not scan at all, the problem is optical rather than textual: contrast, print size, quiet border, or a damaged surface. Why is my QR code not scanning works through those causes in order. For the difference between a static code like this one and the dynamic codes sold on subscription, see the best free QR code generator that does not expire. More browser-based utilities are indexed in the Tools Nimbus guides.

Frequently asked questions

What is the best free Wi-Fi QR code generator?+

For a code you generate once and print, the Tools Nimbus QR Code Generator is a strong pick: it is free, needs no account, and builds the code in your browser, so the Wi-Fi password is never uploaded to a server. You paste a WIFI: payload rather than filling in a form. If you would rather type the SSID and password into labelled fields and have the escaping handled for you, qifi.org is free, client-side, and does exactly that.

What is the format of a Wi-Fi QR code?+

The payload is WIFI:T:WPA;S:MyNetwork;P:MyPassword;; where T is the security type (WPA, WEP, or nopass), S is the SSID, and P is the password. Add H:true before the final semicolons for a hidden network. The WIFI: prefix is uppercase and the string must end with two semicolons. Any QR generator that encodes arbitrary text can produce a Wi-Fi code once you give it this string.

How do I escape special characters in a Wi-Fi QR code password?+

Escape backslash, semicolon, comma, colon, and double quote with a leading backslash, and escape the backslash first so you do not double-escape everything after it. A password of My;Pass:word becomes My\;Pass\:word in the payload. Skipping this is the single most common reason a Wi-Fi QR code scans but fails to join: the scanner truncates the password at the first unescaped semicolon.

Do Wi-Fi QR codes work on both iPhone and Android?+

Yes, on current devices. iOS 11 and later recognise a WIFI: code from the built-in Camera app and show a join prompt. Android 10 and later handle it from the camera or the network settings screen; older Android versions usually need Google Lens or a dedicated scanner app. WPA3 networks are read as WPA by most scanners and generally still join correctly.

Is it safe to put my Wi-Fi password in a QR code?+

The code contains the password in plain text, so anyone who photographs it can read and reuse it. That is fine for a guest network on a separate VLAN and a poor idea for the network your servers sit on. Generate the code locally so the password is never uploaded, print it for the room it belongs to, and regenerate the code whenever you rotate the password, because a static code encodes the old password forever.

Do Wi-Fi QR codes expire?+

A static Wi-Fi QR code never expires. It encodes the join string directly in the pattern, so there is no server, no redirect, and no account that can lapse. It stops working only when the network details change, such as a renamed SSID or a rotated password. Dynamic codes sold by QR services point at a redirect URL instead and can stop resolving if the plan ends.

Try these browser-based tools mentioned in this guide. Everything runs locally, so your data never leaves your device.