Skip to content
ALL DEVELOPER TOOLS56
JSON FormatterTXT → JSONJSON to CSVJSON → CSVCSV to JSONCSV → JSONSQL FormatterSQL → SQLMarkdown to HTMLMD → HTMLHTML to MarkdownHTML → MDXML FormatterXML → XMLBase64 Encode/DecodeTXT → B64URL Encode/DecodeTXT → URLJWT DecoderJWT → JSONHTML Entity Encode/DecodeTXT → HTMLUUID Generator— → UUIDPassword Generator— → TXTHash GeneratorTXT → HASHLorem Ipsum Generator— → TXTQR Code GeneratorTXT → PNGColor Picker & Converter— → HEXCSS Gradient Generator— → CSSBox Shadow Generator— → CSSRegex TesterTXT → MATCHCron Expression GeneratorTXT → CRONTimestamp ConverterNUM → DATEText DiffTXT → DIFFText Case ConverterTXT → TXTWord CounterTXT → STATSSubtitle ConverterSUBS → SRT · VTT · ASSYAML to JSONYAML → JSONJSON to YAMLJSON → YAMLYAML FormatterYAML → YAMLJSON MinifyJSON → JSONSort & Dedupe LinesTXT → TXTLine Ending ConverterTXT → CRLF · LF · CRXLSX to CSVXLSX → CSVCharset ConverterTEXT → UTF-8HAR ViewerHAR → TABLE · HARJWT EncoderJSON → JWTHMAC GeneratorTXT → MACFile ChecksumFILE → VERDICTWi-Fi QR Code Generator— → QRChmod CalculatorOCTAL → RWXHTTP Status CodesCODE → MEANINGByte ConverterSIZE → UNITSTime Zone ConverterTIME → ZONESAspect Ratio CalculatorSIZE → RATIOURL ParserURL → PARTSExtract ArchiveARCHIVE → FILES · ZIPCreate ZIPFILES → ZIPUnzip FilesZIP → FILESDOCX to MarkdownDOCX → MDSVG OptimizerSVG → SVGBarcode Generator— → BARCODEQR Code ReaderIMG → TEXTVCF to CSVVCF → CSVICS to CSVICS → CSVCSV to Markdown TableCSV → MDBcrypt Generator— → HASH
ENGINE QRCODEACCEPTS NONE

Wi-Fi QR Code Generator

QRCODETOOL 158 OF 190

Wi-Fi QR Code Generator — Scan to Join

Turn a network name and password into a QR code any phone camera can join from, built and drawn in this tab.

ENGINEQRCODE
ACCEPTSNONE
MAX SIZENONE
UPLOADNEVER
01Enter the NETWORK NAME, choose WPA/WPA2, WEP or Open under SECURITY, and type the PASSWORD.
02Click Generate QR Code — the exact payload being encoded is printed above the square.
03Click Download PNG or Download SVG to save it.

About Wi-Fi QR Code Generator

Reading a Wi-Fi password aloud across a room is how most guests get online, and it is the reason so many of them type it wrong. A Wi-Fi QR code folds the network name, the security type and the passphrase into one square that every modern phone camera recognises and offers to join from. This page builds that payload — the WIFI: field list ZXing defined — and draws the code in your browser with the qrcode library. The part that matters is the escaping. Semicolons, commas, colons, double quotes and backslashes are structural characters in that format, so a network called Cafe; Bar written straight in produces a perfectly scannable code for a network called Cafe. Each of those characters is backslash-escaped here in a single pass, and a name that is entirely hex digits is wrapped in quotes so a reader does not decode it as raw bytes. The finished payload is printed on screen exactly as encoded, and the passphrase is checked against the lengths WPA and WEP actually accept, so an impossible network is caught here rather than in front of a guest.

Questions

The code scans, my phone offers to join, and then it says it can't.

Almost always the network name rather than the password. It is case-sensitive and it is encoded exactly as typed, so a trailing space you cannot see is enough to break it — this page warns when the name starts or ends with one. Check the hidden-network tick too: setting it on a network that does broadcast makes some Android builds refuse the join outright. Then check the passphrase length. WPA takes 8 to 63 characters or exactly 64 hex digits, and anything else is flagged here, because no access point will accept it however cleanly the code scans.

Is the password encrypted inside the QR code?

No, and nothing about a QR code ever is. It is a picture of a string, and the string here contains your passphrase in plain text — any scanner app will read it back out and show it to you. Anyone who photographs the square, screenshots this page, or picks the printed card up off the table has your Wi-Fi password. That is inherent to the format rather than something this page does badly. Nothing is uploaded to build it, so the only copies that exist are the ones you make; point it at a guest network wherever you can.

My network name has a semicolon in it and other generators make a broken code.

That is the bug this format invites. A semicolon ends a field and a colon ends a key, so a name like Cafe; Bar written straight into the payload hands the reader a network called Cafe and a stray field called Bar — and the code still scans, which is why it is so hard to debug. Backslash, semicolon, comma, colon and double quote are each escaped here before the payload is assembled, in one pass so an escape character does not get escaped a second time. The payload is printed on screen exactly as encoded, backslashes and all.

Why is my network name wrapped in double quotes in the payload?

Because it is entirely hex digits. A reader is entitled to treat a bare run of hex in those fields as the byte-wise spelling of the value rather than as its text, so a network genuinely called ABCD would be looked for as the two bytes AB CD and matched against nothing on air. The quotes say these are characters. The same rule is applied to an all-numeric passphrase, where the failure is worse because nothing looks wrong — the join simply never authenticates. A handful of very old scanners do not understand the quotes and show them as part of the name.

Can I make one for WPA3, or for the enterprise network at work?

For enterprise, no. An 802.1X network needs an identity, an EAP method and a phase-2 method, and this page writes only the T, S, P and H fields — it does not emit the E, I, A or PH2 fields some readers understand, and it never asks you for a certificate. For WPA3-Personal, pick WPA/WPA2: SAE uses the same passphrase, and phones join transition-mode networks from a T:WPA payload perfectly well. A WPA3-only network paired with a device that insists on the newer T:SAE spelling may still refuse, and neither that nor the DPP format is generated here.

Is my file uploaded to a server?

No. Transmute processes everything locally in your browser using JavaScript and WebAssembly. Your files never leave your device — there is no server, no upload, no cloud processing.

Related