Three Scenarios, One Small Problem

A host is checking guests into an Airbnb at 11pm and has said the WiFi password out loud four times already. A cafe owner has reprinted the same laminated card with the network password for two years and it is starting to look tired. A homeowner wants their in-laws to be able to get online during a visit without handing over the password to the network that also runs the home security cameras. All three are solved the same way: a WiFi QR code that a phone's camera reads directly, connects to, and never asks the person to type anything.

This guide covers the actual text format behind that QR code, how to build one with 2FAFast's QR generator, which phones support scan-to-connect out of the box, and the one security decision that matters more than any printing tip: which network you put in the code.

The WIFI: Format, Character by Character

A WiFi QR code is not a special kind of QR code. It is an ordinary QR code that happens to encode a short line of plain text in a format phone operating systems recognize and act on:

WIFI:T:WPA;S:HomeNetwork;P:correcthorsebattery;;

Reading it field by field:

  • T: the security protocol. WPA covers WPA and WPA2 and WPA3 personal networks (almost everything built since 2010), WEP exists for very old routers you should probably replace, and nopass is used for open networks with no password at all.
  • S: the SSID, meaning the network name exactly as it broadcasts, including capitalization. A network called "HomeNetwork" encoded as "homenetwork" will fail to match.
  • P: the password, case sensitive, entered exactly.
  • A trailing ;; that closes the string.

Two details trip people up when building the string by hand. First, if your SSID or password contains a semicolon, comma, or backslash, that character has to be escaped with a backslash in front of it, or the parser reads it as a field separator and the connection fails silently. Second, hidden (non-broadcasting) networks add an H:true field before the closing semicolons. Building the string manually is a good way to learn the format, but it is also a good way to introduce a typo. Our QR generator has a dedicated WiFi mode that assembles the string, escapes special characters automatically, and renders the code, so there is rarely a reason to type the raw WIFI: syntax yourself unless you are troubleshooting one that already exists. If you ever need to check what a QR code actually contains before trusting it, our QR decoder reads any QR image and shows the raw text, WiFi strings included.

What Actually Reads This When Someone Scans It

The reason this works with zero setup on the guest's side is that scan-to-connect is built into the operating system camera app, not a third party feature:

  • iOS: since iOS 11, the built in Camera app recognizes a WiFi QR code and shows a "Join Network" banner. No separate scanner app, no download.
  • Android: Google's Camera app and most manufacturer camera apps (Samsung, Pixel, most others from roughly Android 10 onward) do the same. Some very old or heavily customized Android skins may need a dedicated QR scanner app instead, which is now rare.

Either way, the phone parses the WIFI: string, offers to join, and the person never sees the password as text. That last part is a genuine usability upgrade over reading a password aloud: dictating "capital S, lowercase u" over a letter that looks like a number is a real source of failed connections, especially with passwords mixing similar looking characters.

Building One With the QR Generator

  1. Open the QR generator and select the WiFi option.
  2. Type the SSID exactly as it appears in your router's admin panel or your phone's WiFi list, including case and any trailing spaces the network might genuinely have.
  3. Enter the password and choose the security type. Almost every network made in the last decade should use WPA.
  4. Generate the code, then immediately test it with your own phone in airplane mode off, camera pointed at the screen or printout, before you rely on it for anyone else.
  5. Export it. Screenshots work fine for digital sharing (a Slack message, a check-in email); download the higher resolution version if you are printing.

Testing before deploying matters more here than it sounds. A single mistyped character in the SSID produces a code that looks completely normal, scans without any error, and simply never lets anyone connect, which is a worse failure mode than not having a code at all because it looks like it should work.

Printing and Placement, by Scenario

The three scenarios from the top of this guide actually call for different execution:

  • Airbnb or short-term rental: print it on the welcome card next to check-in instructions, and also send it as an image in the check-in message thread. Guests often look at their phone before they look at a printed card.
  • Cafe or small business: table tents or a card near the register work better than a large wall poster, since customers are usually close enough that a small code (roughly 3 to 5 cm across) scans instantly. Laminate it, because printed cards handled repeatedly by customers get greasy and start failing to scan within weeks.
  • Home with visiting family or friends: a code taped inside a kitchen cabinet or on the fridge works, but consider whether this is the moment to also set up a guest network, covered next.

Whatever the setting, keep a clear quiet zone of white space around the code (cramming it against a logo or text border is a common cause of scan failures) and use dark modules on a light background rather than an inverted or colored design, since some phone cameras handle high contrast far better than they handle style.

A WiFi QR code contains the password in plain, unencrypted text. Anyone who scans it, or photographs the printed card, has the password. That is exactly the intended behavior for a network you are happy to share, and exactly the reason to think about which network you are sharing before you print anything.

The One Decision That Matters: Which Network

Put the code on your guest network, not your primary one, whenever a guest network is available to you. Most consumer and small business routers have supported a separate guest SSID for years, and turning one on typically takes a few minutes in the router's admin page. The payoff is real:

  • Network isolation: a properly configured guest network keeps visiting devices off the same local segment as your computers, network storage, printers, and any smart home devices, so a guest device (or a guest's compromised phone) cannot browse or probe your other equipment.
  • Cheap password rotation: change the guest password whenever you like, reprint the card, and none of your own devices need to be reconnected, unlike changing the password on your main network.
  • Lower stakes if the code leaks: a photographed guest QR code sitting in someone's camera roll for years is a minor exposure. A photographed primary network QR code is a standing invitation into your entire home or office network.

If your router genuinely has no guest network option, at minimum treat the QR code the same way you would treat handing someone a written copy of your password: fine for people you trust, not something to leave posted where strangers can photograph it long after they have left.

Frequently Asked Questions

Does the person scanning need to install an app?

No. iOS 11 and later, and mainstream Android camera apps from roughly the last five years, read WiFi QR codes natively through the built in camera. A "Join Network" prompt appears automatically after the scan.

I changed my WiFi password. Does the old QR code still work?

No, and it will not fail gracefully either, it will just stop connecting with no explanation to the person scanning it. The password is baked into the code at the moment you generate it. Update the password, generate a new code, and replace any printed copies.

My generated code scans but the phone never connects. What's wrong?

Check the SSID for case mismatches or an extra trailing space first, since that is the most common cause. Confirm the security type is set correctly (WPA almost always, WEP only for very old routers). If the password contains a semicolon or backslash and you built the string by hand rather than through the generator, that character likely needs escaping.

Can I encode a hidden network that does not broadcast its SSID?

Yes, the format supports an H:true field for hidden networks, though some phones handle joining hidden networks via QR less reliably than broadcasting ones. For guest use specifically, an unhidden guest network is simpler to support and no less safe when it is properly isolated from your main network.

Is it ever fine to post a WiFi QR code publicly, like on social media or a public website?

Only for a network you are genuinely comfortable with strangers joining indefinitely, since anyone can decode the image with a tool like our QR decoder and read the password directly. That is a reasonable thing to do for an open cafe guest network. It is never a reasonable thing to do for a home or office network that anything sensitive sits behind.

Shoyeb Akter

Written by

Security Tools Developer and creator of 2FA Fast, a privacy-first browser-based authenticator and security tools platform.