QR Code Generator for WiFi Access
Generate scannable QR codes for WiFi access. Enter SSID, password & encryption type to create downloadable PNG codes for guests and signage.
About
Sharing WiFi credentials verbally invites transcription errors. A mistyped passphrase character wastes minutes of troubleshooting. A single wrong case in a 26-character WPA2 key means no connection. This tool encodes your network's SSID, encryption protocol (T), and passphrase into a machine-readable QR matrix conforming to the ZXing WiFi URI specification: WIFI:T:<type>;S:<ssid>;P:<password>;H:<hidden>;;. The resulting code is scannable by any modern smartphone camera without installing a dedicated app.
The QR symbol is generated using ISO/IEC 18004 byte-mode encoding with error correction level L (recovers ~7% of codewords). Version is auto-selected from 1 to 10 based on payload length. Special characters (\, ;, :, ") in SSID or password are backslash-escaped per spec. Note: WEP encryption is included for legacy hardware but offers negligible security. If your password exceeds 80 characters, the QR version may exceed supported range. Pro tip: print the generated code on adhesive paper and mount it near your router for frictionless guest access.
Formulas
The WiFi QR payload follows the ZXing de-facto standard URI scheme:
where T ∈ {WPA, WEP, SAE, nopass}, S = network SSID (with special characters \, ;, :, " backslash-escaped), P = passphrase (same escaping rules), and H = true if the network is hidden, omitted otherwise.
The QR matrix size is determined by version v:
Error correction uses Reed-Solomon codes over GF(28) with the irreducible polynomial:
The generator polynomial for n error correction codewords is:
where α = 2 is the primitive element of the field. Mask pattern selection minimizes a penalty score computed across 4 rules evaluating adjacent same-color runs, 2×2 blocks, finder-like patterns, and dark/light module ratio deviation from 50%.
Reference Data
| QR Version | Modules | Byte Capacity (Level L) | Byte Capacity (Level M) | Byte Capacity (Level Q) | Byte Capacity (Level H) | Typical WiFi Use |
|---|---|---|---|---|---|---|
| 1 | 21×21 | 17 | 14 | 11 | 7 | Open network, short SSID |
| 2 | 25×25 | 32 | 26 | 20 | 14 | Short SSID + short password |
| 3 | 29×29 | 53 | 42 | 32 | 24 | Typical home WiFi (WPA2) |
| 4 | 33×33 | 78 | 62 | 46 | 34 | Medium password + SSID |
| 5 | 37×37 | 106 | 84 | 60 | 44 | Long password WPA2/WPA3 |
| 6 | 41×41 | 134 | 106 | 74 | 58 | Enterprise-length credentials |
| 7 | 45×45 | 154 | 122 | 86 | 64 | Long SSID + complex passphrase |
| 8 | 49×49 | 192 | 152 | 108 | 84 | Maximum practical WiFi QR |
| 9 | 53×53 | 230 | 180 | 130 | 98 | Edge case with metadata |
| 10 | 57×57 | 271 | 213 | 151 | 119 | Maximum supported by this tool |
| Encryption Protocol Reference | ||||||
| WPA/WPA2 (recommended) | T:WPA | Passphrase 8 - 63 ASCII chars | ||||
| WPA3 | T:SAE | Passphrase 8 - 63 ASCII chars | ||||
| WEP (legacy) | T:WEP | 5 or 13 ASCII / 10 or 26 hex chars | ||||
| No password | T:nopass | Open network, no passphrase field | ||||
| Error Correction Levels (ISO 18004) | ||||||
| Level L (Low) | ~7% recovery | Smallest QR, best for clean prints | ||||
| Level M (Medium) | ~15% recovery | Balanced size vs. durability | ||||
| Level Q (Quartile) | ~25% recovery | Good for partially obscured codes | ||||
| Level H (High) | ~30% recovery | Maximum redundancy, largest QR | ||||