QR / guides / WiFi

WiFi QR codes for cafés: how to build one that actually works

A poorly-built WiFi QR works on your Android but fails on four out of ten iPhones. The difference is three details almost no one checks.

If you run a café, a coworking space, or an Airbnb, the little 'scan for WiFi' card seems trivial: generate it, print it, tape it next to the bar. But if you've never tested it with an iPhone, a Samsung, and an older Android side by side, there's a good chance 20% to 40% of your guests can't connect — and end up asking for the password out loud. This guide covers the exact format every modern phone understands, the three errors that silently break decoding, the minimum print size, and a few UX details (like where to hang it) that move the needle.

The format every phone understands

A WiFi QR isn't a link or plain text — it's a specific string that iOS, Android, and Windows recognize as a connection prompt. The spec was published in 2012, and Android 11 / iOS 11 ship with native support.

WIFI:T:WPA;S:NetworkName;P:Password123;H:false;;

What matters are the fields: T is the security type (WPA, WPA2, WEP, or nopass), S is the exact SSID (preserving case, spaces, dashes), P is the password, H flags whether the network is hidden. The two trailing semicolons aren't decoration — they're part of the spec, and many older parsers fail without them.

The three mistakes that silently break the QR

1. Unescaped special characters

If the SSID or password contains a comma, colon, semicolon, double quote, or backslash, you must escape them with a backslash. The password "p;ass,word" must be written as "p\;ass\,word" inside the QR string. Our generator handles this automatically — but if you copied the format from an old blog and built it by hand, double-check.

2. Case mismatch in the SSID

SSIDs are case-sensitive. If your network is named "Cafe-Guest" but the QR has "cafe-guest", the phone looks for a different network and fails silently (no error message — it just won't connect). Paste the name exactly as it appears in your router's network list.

3. Wrong encryption type

Most modern routers use WPA2 or WPA3, but the QR spec only knows WPA, WEP, and nopass. If your network is WPA3, pick WPA in the form — it works because iOS/Android negotiate the actual encryption when connecting. Use WEP only if your router predates 2003 (in which case, replace it). And if the network is open, pick nopass or the QR will prompt for a password that doesn't exist.

Minimum print size

The most common mistake in cafés is printing the QR too small. Rule of thumb: at 30 cm scanning distance, the QR needs at least 3 cm per side. If you're hanging it on a wall 1 meter from the tables, minimum 8 cm. For a tabletop card the customer brings to their face, 4 cm is fine.

Scan distanceMinimum QR sideSuggested print resolution
20-30 cm (table)3 cm300 DPI · 354 px side
50 cm (counter)5 cm300 DPI · 590 px side
1 m (wall)8 cm300 DPI · 945 px side
2 m+ (window)15 cm300 DPI · 1772 px side

Common errors and how to fix them

SymptomLikely causeFix
iPhone scans but no Connect button shows upEncryption set to nopass when the network has a passwordSwitch the type to WPA
Android connects but asks for the password manuallySSID with different casingCopy the exact name from the router
Some phones can't read the QRQR is too small or low contrastPrint black on white, minimum 3 cm at 30 cm distance
Connects but disconnects after a few secondsSpecial characters in the password not escapedRegenerate using the form — don't paste the raw text
The QR works but the network doesn't appear afterwardsHidden network without setting H:trueCheck the 'hidden network' flag in the form

UX details that matter more than you'd think

What about WPA3?

WPA3 is the new standard and many routers ship it on by default since 2020. Good news: the QR format hasn't changed. Pick WPA in the generator, the phone detects WPA3 at connect time, everything works. Bad news: if your router is set to 'WPA3 only' (not mixed), phones older than iOS 13 / Android 10 won't be able to connect, QR or no QR. If your venue gets older devices, run mixed WPA2/WPA3.

Now generate your own

The form below ships with example values. Replace them with yours, download the PNG at 1024 px or more, and test with your phone before printing. If it connects, send it to the print shop. If it doesn't, check the three common errors above.

Generate your WiFi QR

Comes with example values — replace them with your network and download the PNG.

Content

Step 1

Leave empty for open networks and pick “No password” as the type.

Color

Tweak error correction, size, and quiet zone. Useful for large prints, logos in the center, or long content.

L = 7%, M = 15%, Q = 25%, H = 30%. Higher = denser QR but tolerates more damage.

Visual style

Logo in the center

Upload an image (PNG, SVG or JPG, < 1 MB). It's placed in the center with a white pad. Test with your camera before printing.

Your QR

Step 2

WIFI:T:WPA;S:Mi-Cafe-Guest;P:espresso2026;;