πŸ“Ά QR Code Generator for Wi-Fi & Secrets

Last updated: October 8, 2025

The Wi-Fi Password Handoff Problem Nobody Talks About

Every household with guests has lived through the same awkward moment. Someone asks for the Wi-Fi password, you mentally recite it β€” something like BlueSky#99$Falcon! β€” and watch them squint, type it wrong twice, hand you back the phone, and give up. The whole dance takes ninety seconds and ends with you typing it yourself anyway.

This is a solved problem, and the solution has been sitting inside every smartphone camera app for years. Android added native Wi-Fi QR scanning in Android 10. iOS did the same in iOS 11. The protocol β€” a simple text string formatted as WIFI:T:WPA;S:NetworkName;P:YourPassword;H:false;; β€” has been standardized since around 2014. What's been missing is a fast, private, trustworthy way to generate that QR code without handing your credentials to some random web service.

Why "Just Google a QR Generator" Is the Wrong Answer for Passwords

Most people's instinct is to search "wifi qr code generator," land on the first result, and paste in their network name and password. That works, in the sense that a QR code appears. But consider what just happened: you sent your home network password in plaintext over HTTPS to a server you know nothing about, operated by a company you've never vetted, which may log requests, sell analytics data, or simply have terrible security hygiene. For a password you use every single day to secure everything on your home network, that's a surprising amount of trust to hand to a stranger.

The same concern applies double for the "Text / Secret" use case β€” encoding a recovery seed phrase for a crypto wallet, a master password hint, SSH keys, or any other genuinely sensitive credential. Sending that to a third-party server to have a QR code rendered is equivalent to mailing someone a photocopy of your house key and asking them to make a duplicate.

A QR code generator does not need the internet. The entire algorithm β€” Reed-Solomon error correction, the matrix layout with finder patterns and timing strips, the mask evaluation, format information encoding β€” runs trivially fast in a browser. The computation for a typical Wi-Fi QR code takes under five milliseconds on modern hardware. There is no technical reason to involve a server at all.

How QR Codes Actually Store Data

A QR code is not just a barcode equivalent. The structure is carefully engineered for resilience. Each code contains multiple copies of critical navigation information β€” the three square "finder patterns" in the corners let the scanner lock on regardless of rotation or angle. The data itself is encoded in Galois Field arithmetic (specifically GF(256) over the irreducible polynomial x⁸+x⁴+xΒ³+xΒ²+1), which produces error correction codewords that can reconstruct the original message even if a chunk of the code is obscured or damaged.

For most Wi-Fi use cases, Error Correction Level M (around 15% recovery capacity) strikes the right balance β€” the QR code stays compact and scannable at modest sizes, while still tolerating minor print imperfections or glare on a screen. The generator here uses EC Level M throughout, and automatically selects the smallest QR version (from version 1 at 21Γ—21 modules up to version 40 at 177Γ—177) that fits your payload.

The Wi-Fi string format deserves a brief mention. Special characters in your SSID or password β€” backslashes, semicolons, commas, double quotes, colons β€” need to be escaped with a backslash. "My;Network" becomes "My\;Network" in the payload. The generator handles this automatically, so you can type your credentials exactly as they are.

Practical Uses Beyond Guest Wi-Fi

The Wi-Fi case is the obvious one, but the Text and URL tabs open up a broader set of applications. A few that come up frequently in practice:

Vault access codes and one-time keys. If you need to pass a temporary access code to someone in the same room without speaking it aloud β€” think a hotel safe combination, a locker PIN, or a conference room door code β€” a QR code takes about three seconds to scan and leaves no copy on either party's clipboard.

Onboarding new devices. Entering a long randomly-generated password on a smart TV remote or a game console controller is genuinely painful. Generate the QR, hold it up to the device's camera, done. This works for any string up to roughly 2,200 bytes at EC Level M.

Printed materials with embedded links. Business cards, flyers, and product sheets that include URLs benefit enormously from QR codes β€” people scan rather than type. Generating these offline means the URL you embed is exactly what you typed, with no intermediary redirect tracking added.

Two-factor authentication seeds. TOTP secret keys (the strings you'd scan when setting up Google Authenticator or Authy) are just Base32-encoded text. Encoding one as a QR code lets you easily back it up to a printed paper without photographing your phone screen.

The Custom Color Option

Aesthetics matter for anything you're going to print and display. A black-on-white QR code works, but it doesn't have to be the only option. The color pickers let you set both the dark module color and the background. A few practical notes: maintain sufficient contrast (WCAG recommends at least 4.5:1 for accessibility, and QR scanner algorithms have similar needs); avoid colors that are too close together in luminance even if they differ in hue; and if you're printing on colored paper, account for that background when choosing your module color. Dark modules on a white or very light background reliably scan across all devices. Unusual combinations can work but test before printing at scale.

What "100% Offline" Actually Means Here

The label isn't marketing language. The entire QR generation algorithm β€” Galois Field initialization, Reed-Solomon polynomial computation, matrix construction, mask scoring across all eight mask patterns, format information placement β€” executes in your browser's JavaScript engine and writes to an HTML5 canvas element. No fetch calls, no WebSockets, no service workers phoning home. You can open this page, disconnect from the internet entirely, and generate QR codes until your battery dies. The Download PNG button creates a data URI directly from the canvas β€” again, no network request.

For sensitive credentials, this matters. The password never leaves the tab. The QR image is created on your device and stays there until you choose to export it.

After You Generate: Storage and Sharing

Download the PNG and think briefly about where it lives. Saving a file called qr-code.png to your Downloads folder and then syncing it to cloud storage is effectively putting your Wi-Fi password in a cloud folder β€” consider renaming it meaningfully or storing it in a location with appropriate access controls. For printing, a 280px canvas export at typical screen resolution works fine for most phones at close range; if you need it at larger print sizes, right-click the canvas and save at native resolution before scaling in an image editor.

The real value of a printed Wi-Fi QR code is permanence: laminate it, tape it near your router, put it on the fridge. Every guest for the next several years can connect without asking. The password never travels through voice or text message, and you never have to remember which character was a zero and which was the letter O.

FAQ

Will this QR code actually work on Android and iPhone without any special app?
Yes. Android 10 and later can scan Wi-Fi QR codes natively through the camera app or Settings > Network > Add Network. On iPhone, iOS 11 and later recognize the WIFI: format directly through the default Camera app β€” a banner appears offering to join the network. No third-party app is needed on either platform.
My Wi-Fi password contains special characters like # and !. Does this handle that correctly?
The Wi-Fi QR format requires escaping five special characters β€” backslash, semicolon, comma, double quote, and colon β€” by placing a backslash before them. This generator applies that escaping automatically before encoding. Characters like #, !, @, $, %, ^, &, *, (, ), -, +, =, and spaces require no escaping and are encoded as-is.
Is there any record kept of the passwords or secrets I encode here?
No. The entire QR generation runs in JavaScript inside your browser. Nothing is sent to any server at any point β€” not the SSID, not the password, not the output image. You can verify this by opening your browser's developer tools, going to the Network tab, generating a QR code, and observing that zero network requests are made.
What is the maximum amount of text I can encode into a QR code?
At Error Correction Level M (which this tool uses), the theoretical maximum is around 2,200 bytes. For a typical Wi-Fi credential string (SSID + password + format overhead), most inputs will use a compact version 2 or 3 QR code β€” roughly 25x25 to 29x29 modules β€” which scans easily even at small print sizes.
I have a hidden network that doesn't broadcast its SSID. Can I still generate a QR code for it?
Yes. Switch the 'Hidden Network?' dropdown to 'Yes (hidden)'. This adds H:true to the Wi-Fi QR payload. When a phone scans the code, it prompts to join the hidden network by name β€” the user does not need to know the SSID or type it manually. Note that some older Android versions have inconsistent support for hidden network QR codes.
Why does the same input sometimes produce a slightly different QR code than another generator?
QR codes are not unique for a given input. Two valid QR codes encoding the same data can differ in their mask pattern (QR has 8 possible masks, and generators pick the one with the lowest visual penalty score β€” different implementations may break ties differently) and in how they split data across error correction blocks. Both codes decode to identical content, so any differences are cosmetic.