QR & Barcodes4 min

How to Generate a WiFi QR Code Anyone Can Scan

Print or share a WiFi QR that iOS and Android auto-join without typing the password. Free, offline, and built with the WIFI: URI spec.

Zro7 QR Code Generator builds the QR on your device with the qrcode library. Your SSID and password are never sent anywhere.

To make a WiFi QR code, open Zro7 QR Code Generator, pick the WiFi preset, enter your SSID, security type (WPA/WPA2/WPA3), and password. Zro7 encodes them into the WIFI: URI format and renders a scannable PNG or SVG — locally.

The WIFI: URI format

iOS and Android both understand this string:

WIFI:T:WPA;S:MyNetwork;P:MyPassword;H:false;;

  • T — security type: WPA, WEP, or nopass.
  • S — the SSID (escape ;, ,, ", :, \).
  • P — the password.
  • Htrue if the network is hidden.

Print vs digital

Export as SVG for crisp printing at any size; PNG at 512+ px works for signage and phone screens. Add a logo overlay only if you keep it below 20% of the QR area — QR error correction handles a small logo but not much more.

Why it works offline

There's nothing to fetch — the QR encoding algorithm is pure math, and the qrcode library implements it in JavaScript. Zro7 never sees your password because Zro7 never gets the password.

Steps

  1. Open QR Code Generator.
  2. Choose WiFi, enter SSID, security, and password.
  3. Download PNG or SVG.
  4. Print, laminate, and stick it in your entryway or on the fridge.

Frequently asked questions

Does it work on iOS and Android?

Yes — the WIFI: URI is understood by the built-in Camera app on iOS 11+ and Android 10+.

What about older Android?

Older Android may need a QR-scan app; Google Lens works universally.

Can I use it for a hidden network?

Yes — set the Hidden flag; the client will search for that SSID even without a broadcast.

Does WPA3 work?

Yes — the T parameter uses WPA for WPA/WPA2/WPA3; the OS negotiates the actual auth.

Can I add my logo?

Yes, but keep it small (<20% area) so error correction can still recover.

Related posts

← Back to blog