Skip to main content
EZQR
How-To·

How to Make a WiFi QR Code: The Complete 2026 Guide

TL;DR

A WiFi QR code encodes your network credentials in a `WIFI:` URI — `WIFI:T:WPA;S:NetworkName;P:Password;H:false;;` — directly into the QR pattern. Scan it with the camera on any iPhone (iOS 11+, since 2017) or Android phone (Android 10+) and the device joins the network without typing the password. EZQR generates a [WiFi QR code](/qr-codes/wifi) free with no watermark and no expiration. Make it **static** — your password rarely changes, and static codes work forever with no server and no subscription. One honest warning: the password sits in plaintext inside the code, so anyone who decodes it reads it. Use it on a guest network, not the network running your point-of-sale.

Key Takeaways

  • A WiFi QR encodes the `WIFI:T:WPA;S:SSID;P:Password;H:false;;` URI directly into the pattern — no app, no server, no account needed to scan it.
  • iOS 11+ (2017) and Android 10+ scan WiFi QR codes natively from the default camera. No third-party scanner app required.
  • **Special characters in your password or SSID must be escaped with a backslash** — `:`, `;`, `,`, `"`, and `\` all break the code if you paste them raw.
  • The password is stored in plaintext inside the code. Anyone who decodes the image reads it — fine for a guest network, wrong for your main business network.
  • Captive-portal WiFi (the 'click here to sign in' splash pages in hotels and airports) does not work with a WiFi QR code. The URI only joins WPA/WPA2/WPA3/WEP/open networks.
  • Make WiFi codes **static**. Credentials rarely change, [static codes](/blog/static-vs-dynamic-qr-code) are free forever, and they survive cancellation. Use dynamic only if you rotate guest passwords on a schedule.

What a WiFi QR code actually is (and why it needs no app)

A WiFi QR code is your network name and password encoded as a WIFI: URI baked straight into the black-and-white pattern. There is no website behind it, no redirect, no server. The phone reads the pattern, parses the credentials, and offers to join. That is the whole mechanism.

Here is what the encoded string looks like:

WIFI:T:WPA;S:CafeGuest;P:Latte2026;H:false;;

When a guest points their camera at it, the phone decodes that string and pops a banner: "Join CafeGuest?" One tap and they're online. They never see, type, or remember the password. That ends the part of your day where you recite an 18-character password across the counter to someone who mistypes it twice.

This works because the credentials live inside the code itself, not on a server you pay for. That's the same reason a static QR code never expires — the data is the code. You generate it once at EZQR's WiFi QR generator, print it, tape it to the wall, and it keeps working for years with zero ongoing cost. Cancel your account, switch tools, lose your login — the printed code on the wall does not care. It still joins people to your network.

The format itself is part of the QR Code standard, ISO/IEC 18004. Every modern phone camera understands it. You don't ship an app, you don't ask guests to download anything, and you don't depend on any company staying in business. The honest truth: this is one of the few QR use cases that needs no internet at all to do its job.

The WIFI: URI format, field by field

The entire WiFi QR spec is one line with five fields. Once you know what each does, you can read any WiFi code by eye and spot the mistake when one fails.

The template is WIFI:T:<auth>;S:<ssid>;P:<password>;H:<hidden>;; — and yes, the double semicolon at the end is required. Here's every field:

FieldMeaningValid valuesRequired?
TEncryption / authentication typeWPA, WPA2, WPA3, WEP, nopassYes (use nopass for open networks)
SSSID — your network nameAny text; case-sensitiveYes
PPasswordAny text; omit entirely if nopassYes, unless T is nopass
HHidden network flagtrue or falseOptional; defaults to false
ClosingTerminatorTwo semicolons ;;Yes

Tips

  • **T (type)**: Use `WPA` as the value for WPA, WPA2, and WPA3 networks — phones treat them interchangeably here. Use `WEP` only for ancient hardware. Use `nopass` for a genuinely open network with no password.
  • **S (SSID)**: Type it exactly as your router broadcasts it. `CafeGuest` and `cafeguest` are two different networks to a phone. A capitalization mismatch is the single most common reason a code connects to nothing.
  • **P (password)**: This is the field where special characters cause silent failures — covered in the next section. Leave it out completely when `T:nopass`.
  • **H (hidden)**: Set `true` only if your router suppresses SSID broadcast. Set `false` (or omit) for every normal network. Marking a visible network as hidden makes some Android phones fail to find it.

Escaping special characters — the gotcha that breaks half of all DIY codes

Five characters break a WiFi QR code if you paste them raw into the password or SSID: the colon :, the semicolon ;, the comma ,, the double quote ", and the backslash \. These are structural characters in the WIFI: URI, so the phone reads them as field separators instead of part of your password. Escape each one with a backslash.

Say your password is P@ss;w0rd. The semicolon ends the password field early, so the phone tries to join with P@ss and fails every time. The fix is to write it as P@ss\;w0rd — the backslash tells the parser "this semicolon is data, not a separator." Same rule for the other four:

  • : becomes \:
  • ; becomes \;
  • , becomes \,
  • " becomes \"
  • \ becomes \\

Most generators won't tell you this. They take your input, drop it into the URI without escaping, and hand you a code that looks perfect and connects to nothing. You find out when a guest taps "Join," waits, and gets "Incorrect password" on a password you know is correct. EZQR's WiFi QR generator escapes these characters for you, so you paste your real password and the code just works. If you ever build the URI by hand, do the escaping yourself.

There's one more trap worth naming. If your password is all digits — say 48205173 — some encoders wrap it in quotes to force it as text. You don't need to do that manually, but if you copy a WIFI: string from somewhere and see P:"48205173", leave the quotes alone. Stripping them can change how the phone interprets the value. When in doubt, test the code on a real phone before you print a hundred copies.

How to make a WiFi QR code, step by step

From your router credentials to a printed sign, the whole process takes about four minutes. You need three things: your network name, your password, and your encryption type (almost always WPA). Here's the workflow:

Tips

  • **Step 1: Find your exact SSID and password.** Check your router label or admin panel. Copy them character for character — capitalization counts. For a business, point the code at your **guest network**, not the main network.
  • **Step 2: Pick your encryption type.** Choose `WPA` for any WPA/WPA2/WPA3 network (the default on every router since 2006). Choose `nopass` only if the network is truly open.
  • **Step 3: Open [EZQR's WiFi QR generator](/qr-codes/wifi).** Enter the SSID, password, and encryption. The generator escapes special characters automatically — preview updates live.
  • **Step 4: Leave 'hidden' off** unless your router actually hides the SSID. Almost no small-business network does.
  • **Step 5: Style it if you want.** Add brand colors or a center logo. Keep contrast high — dark code on light background. See the [QR best-practices guide](/guides/qr-code-best-practices).
  • **Step 6: Export.** PNG is free and prints fine for a table tent. For a large wall sign or vinyl decal, the SVG/PDF export on the [Lite plan](/pricing) keeps edges crisp at any size.
  • **Step 7: Test on two phones — one iPhone, one Android — before printing.** Confirm both join the network, not just decode the text. This 30-second check saves a reprint.
  • **Step 8: Print at the right size.** A table-tent code reads fine at 2–3 cm; a wall sign across a room needs 8–15 cm. See the [QR code size guide](/guides/qr-code-size-guide).

Which phones scan it natively (and what to do for the rest)

Native WiFi QR scanning has been built into the default camera since iOS 11 in 2017 and Android 10 in 2019. That covers the overwhelming majority of phones in any room today. The guest opens the camera, points it at the code, taps the banner, and joins. No app, no setup.

On an iPhone (iOS 11 or newer): open the stock Camera app, aim at the code, and a yellow "Join CafeGuest" notification slides down. Tap it. Done. This has worked on every iPhone since the iPhone 5s running iOS 11, so you're talking about a phone from 2013 or later.

On Android (version 10 or newer): the default camera or Google Lens reads it the same way — aim, tap the network prompt, connect. Samsung, Pixel, and most other Android phones shipped this years ago. Even some Android 9 devices handle it through the Settings WiFi menu.

For the rare older or stripped-down phone: the camera still decodes the code as text. The user sees the WIFI: string, copies the password, and joins manually. It's clumsy, but nothing is lost — the password is right there. You can also print the network name and password in small text beside the code as a fallback. That belt-and-suspenders approach guarantees a guest is never stuck.

Here's a contrarian take most generator marketing skips: you do not need a fancy custom-designed WiFi code for it to work. A plain black-and-white code scans faster and more reliably than a logo-stuffed, gradient-filled one. Decoration is for your brand, not for the scanner. If reliability is the goal, keep it simple.

The plaintext-password problem nobody mentions

Your WiFi password sits in plaintext inside the code, and anyone who decodes the image reads it. This is the one fact most WiFi QR articles bury, and it changes how you should use the feature. A QR code is not encryption — it's a way of writing text in squares. Any scanner app that shows the decoded contents reveals WIFI:T:WPA;S:CafeGuest;P:Latte2026;... to whoever pointed their phone at it.

For a guest network, that's a non-issue. The whole point of a guest network is that strangers use it. You're handing out the password anyway — the QR just hands it out faster. Print it, frame it, put it on every table.

For your main business network, it's a real risk. The network running your point-of-sale, your back-office computers, your security cameras — that password should never live on a code taped to a public wall. A customer photographs it, walks out, and now has standing access to the network behind your card reader. Use a separate guest network with its own password for the QR, and keep your operational network off any printed code entirely. Most routers since 2015 support a guest network in two clicks.

The practical rule for Sarah's cafe, an Airbnb, or an office lobby: one network for guests, one for the business, and only the guest one gets a QR code. If your router can't split them, get a router that can — it's a $40 fix that closes a real hole. Don't put a URL QR code to a credential-sharing page in its place either; that just adds a server dependency to a problem the guest network already solves.

Where WiFi QR codes pay off — and the one place they don't

WiFi QR codes earn their keep anywhere people ask for the password and you'd rather not recite it. Each setting below is a real pattern, and each maps cleanly to a guest network and a static code.

Cafes and restaurants. A table tent or counter card with the code ends the password recitation entirely. Pair it with your menu QR code on the same card — guests connect and browse the menu in two scans. This is the highest-volume use case by far.

Airbnb and vacation rentals. Print the code in your welcome guide or frame it by the door. Guests arrive tired, scan once, and they're online — no "the password is on the fridge" treasure hunt at 11pm. A vCard QR code with your host contact beside it makes the welcome packet complete.

Offices and guest networks. A code in the lobby or conference room gets visitors and contractors online without IT pulling someone off a ticket. The guest network stays isolated from the corporate network, and the code only ever exposes the guest credentials.

Events and pop-ups. Conferences, markets, and trade-show booths print the code on signage and badges. Attendees connect themselves, and your staff answers actual questions instead of spelling out a password 200 times. See the event QR playbook.

Retail and coworking. Stores and shared workspaces post the code where customers wait — fitting rooms, checkout lines, lounge tables. The retail QR guide covers placement that actually gets scanned.

Now the one place it doesn't work: captive-portal WiFi. Covered next, because it's the limitation that surprises people.

The captive-portal limitation (and static vs dynamic for WiFi)

A WiFi QR code does not work with captive-portal networks — the kind that show a "click here to accept the terms" or "enter your room number" splash page before letting you online. Hotels, airports, large public venues, and many corporate guest setups use these. The WIFI: URI only carries credentials for a direct WPA/WPA2/WPA3/WEP/open join. It has no way to fill in a web sign-in form, so it joins the radio network and then stalls at the portal page. If your network requires a browser sign-in step, a WiFi QR code is the wrong tool — use a URL QR code pointing at the sign-in page instead.

For every normal password-protected network, the code works perfectly. And for those, you almost always want it static.

Here's the reasoning. A WiFi password rarely changes — most cafes and rentals keep the same one for years. A static code bakes the credentials into the pattern: free forever, no server, no subscription, survives cancellation, never expires. There's nothing to break. Compare that to a dynamic code, which routes through a redirect server and needs an active account to keep resolving.

FactorStatic WiFi QRDynamic WiFi QR
Best forFixed password (most cafes, rentals, offices)Guest passwords you rotate on a schedule
CostFree forever, unlimited codesFrom $5/mo (Lite plan)
Survives cancellationYes — data is in the codeYes on EZQR — redirect keeps resolving
Can change password without reprintingNo — new password means new codeYes — repoint from the dashboard
Scan analyticsNo (no server in the loop)Yes — count, device, country
Needs internet to connectNoNo for the join; the QR resolve does

Tips

  • **Default to static** for any WiFi code with a stable password. It's free, permanent, and has no failure point.
  • **Use dynamic only** if you rotate the guest password on a schedule (some offices change it monthly) and want to update the code without reprinting the sign.
  • **Both survive cancellation on EZQR** — even dynamic codes keep resolving, which most generators can't claim. See the [hidden-costs guide](/blog/qr-code-generator-hidden-costs-2026).
  • **Want to know how many people scan?** Only dynamic codes log scans, and even then WiFi analytics are limited. For most owners, the static code's permanence beats the data.

Print, place, and test so it actually gets scanned

A WiFi QR code that nobody can scan is a sticker. Size, placement, and a one-line instruction decide whether it works in the real world, and all three are easy to get right.

Size by distance. A code people scan from arm's length — a table tent, a welcome card, a counter sign — reads fine at 2–3 cm square. A code across a cafe or a lobby wall needs 8–15 cm. The rough rule: the code's width should be about one-tenth of the scanning distance. The full math is in the QR code size guide. Print one test copy at the real size and scan it from where people will actually stand.

Placement. Put it where people already wait — the table, the counter, the lobby seating, the conference table. Eye level beats floor level. Avoid glossy lamination under direct light, which throws glare that blinds the camera. Matte finish scans more reliably.

The instruction line. Add four words beside the code: "Scan to join WiFi." A naked code gets scanned far less than one with a prompt, because most people don't assume a square means free internet. This one line is the highest-return tweak you can make. Add your network name in small text as a manual fallback for older phones.

Test on real hardware. Decoding the text is not the same as joining the network. Scan with one iPhone and one Android, tap through, and confirm both actually connect. Then check it again after printing — a code that scans on screen can fail on paper if the print is too small, too light, or too glossy. Run through the QR best-practices checklist once before a big print run, or read the WiFi QR setup guide for the deeper walkthrough.

FAQ

Is making a WiFi QR code free?

Yes — EZQR generates WiFi QR codes free with no watermark, no signup, and no expiration. A WiFi code is a [static code](/blog/static-vs-dynamic-qr-code), and static codes are free forever on every plan. Generate it at the [WiFi QR generator](/qr-codes/wifi), download the PNG, and print as many copies as you want at no cost.

Do guests need an app to scan my WiFi QR code?

No. The default camera on any iPhone running iOS 11+ (released 2017) or Android phone running version 10+ (released 2019) reads WiFi QR codes natively. Guests point the camera, tap the "Join network" banner, and connect. No third-party scanner app, no download, nothing to install.

Why does my WiFi QR code say 'incorrect password' when the password is right?

Almost always an unescaped special character. If your password contains `:`, `;`, `,`, `"`, or `\`, those characters break the WIFI: URI unless each is escaped with a backslash. Most DIY tools skip this step. EZQR's [WiFi QR generator](/qr-codes/wifi) escapes them automatically, so paste your real password and the code connects.

Can someone steal my password from a WiFi QR code?

Yes — the password is stored in plaintext inside the code, and any scanner that shows decoded contents reveals it. That's fine for a guest network, since you're sharing that password anyway. Never put your main business network on a public QR code; use a separate guest network so the code only ever exposes guest credentials.

Will the WiFi QR code work in a hotel or airport with a sign-in page?

No. Captive-portal networks that show a "click to accept" or "enter your room number" splash page do not work with a WiFi QR code. The WIFI: URI only carries credentials for a direct join — it can't fill in a web form. For those networks, use a [URL QR code](/qr-codes/url) that points to the sign-in page instead.

Should my WiFi QR code be static or dynamic?

Static, for almost everyone. WiFi passwords rarely change, and a [static code](/blog/static-vs-dynamic-qr-code) is free forever, needs no server, and survives cancellation. Use dynamic ($5/mo Lite plan) only if you rotate your guest password on a schedule and want to update the code without reprinting the sign.

What encryption type should I choose — WPA, WPA2, or WPA3?

Choose `WPA` as the value for any WPA, WPA2, or WPA3 network — phones treat them interchangeably in the WIFI: URI, and that covers virtually every router made since 2006. Use `WEP` only for very old hardware, and `nopass` for a genuinely open network with no password.

Will my WiFi QR code keep working if I stop paying for the generator?

Yes — a static WiFi code keeps working forever. The credentials are encoded directly into the QR pattern, so the printed code depends on no account, server, or subscription. Cancel EZQR, switch tools, lose your login — every printed code still joins guests to your network. See the [permanent QR code guide](/blog/permanent-qr-code-generator-2026) for how to verify this before a big print run.

How big should I print my WiFi QR code?

About one-tenth of the scanning distance. A table tent or welcome card scanned from arm's length works at 2–3 cm; a code on a lobby wall across a room needs 8–15 cm. Print a test copy at the real size, scan it from where people will actually stand, and check the [QR code size guide](/guides/qr-code-size-guide) for the full math.

Can I make a WiFi QR code for a hidden network?

Yes — set the hidden flag to `true` in the WIFI: URI (the H field) if your router suppresses SSID broadcast. For every normal visible network, leave it `false` or off. Marking a visible network as hidden makes some Android phones fail to find it, so only flip it if the network is genuinely hidden.

Can I track how many people scan my WiFi QR code?

Only with a dynamic code, and even then the data is limited. Static WiFi codes have no server in the loop, so they log nothing — which is the right trade-off for a permanent table sign. A [dynamic code](/qr-codes/dynamic) on the Lite plan logs scan count, device, and country, but for most owners the static code's free permanence beats the analytics.

What's the difference between a WiFi QR code and just sharing the password?

Speed and accuracy. A WiFi QR code joins any modern phone in one tap with no typing, so an 18-character password never gets mistyped or recited across a counter. The credentials are the same — the code just delivers them instantly. For a cafe or rental handling dozens of guests a day, that saved minute per person adds up fast.

More From This Category

Related Industries

Related Guides

Related Tools

Written by

EZQR Editorial Team
EZQR Editorial Team

The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.

Ready to create your QR code?

No signup for static codes. Dynamic codes start at $5/mo. No watermarks, no expiry.

Generate your free WiFi QR code