WiFi QR Code Generator

Make a WiFi QR code guests join in one scan. Escapes ; : , " \ correctly, checks the 32-byte name and password limits, and prints a card with the password.

  • Runs in your browser
  • Your data never leaves your browser
  • Free · No Sign-Up
Use the exact name from Wi-Fi settings, including capitals and spaces. The counter shows UTF-8 bytes; a network name can contain at most 32 bytes.
Enter the router password. The eye button reveals it for checking. Password networks need a password; choose No password for an open network. Nothing you type is stored.
Use WPA / WPA2 / WPA3 for most routers. WPA3 only adds R:1 for routers without WPA2 fallback. WEP is for older routers. Tick Hidden network only when the router does not broadcast its name. Enterprise networks are not supported.
Export The code updates as you type. Read the visible warnings before downloading PNG or SVG. Scan the image with a phone, or check it with the QR Code Reader, before printing. Copy Wi-Fi text includes the password.
QR options
Higher error correction can recover more damaged modules and may make the code denser. M is the default; L, M, Q and H recover about 7%, 15%, 25% and 30%.
PNG size is a target: each module uses whole pixels, so the actual image may be smaller. The quiet zone stays at 4 modules. SVG scales without blur; this size does not change the printable card.
Use dark modules on a light background. Inverted, low-contrast or red-on-white codes can fail on some scanners; check the warnings and test the exported image.
Printable card
Set a card title, then download Card PNG or Card SVG, or choose Print card. The card is 100 mm wide; long names and passwords wrap. Turn off Print the password on the card to omit its printed text. The QR still contains the password, so use a guest network.

Encoded text
 

    Preview

    Enter a network name and password to preview the code.

    Enter a network name and password to preview the code.

    Check the downloaded image with the QR Code Reader → Need a code for a link or text? QR Code Generator →

    Examples, details and FAQ Worked examples, how it compares with other tools, and answers to common questions.

    What the Code Contains

    A Wi-Fi QR code holds one line of text that starts with WIFI:. The format comes from the ZXing project’s Barcode Contents page, and the Wi-Fi Alliance later wrote it into section 7 of the WPA3 Specification v3.5 as the WIFI URI. The tool writes the fields in the order of that specification:

    FieldWritten asMeaning
    TWPA, WEP or nopassSecurity type. The WPA3 specification sets WPA for every password network, WPA2 and WPA3 alike.
    R1 (WPA3 only)Transition Disable bitmap, bit 0 = WPA3-Personal: phones that support it will not fall back to WPA2 on this network.
    Sthe nameSSID, escaped.
    HtrueHidden network, so the phone also probes for a name that is not broadcast.
    Pthe passwordEscaped; left out for an open network.

    ZXing escapes five characters with a backslash: \, ;, ,, " and :. Android’s parser in the AOSP source (WifiUriParser) removes those backslashes again. When Android shares a network from Settings, it writes the same format (AOSP WifiNetworkConfig.getQrCode()).

    Examples

    A guest network. Name Guest-WiFi, password welcome-2026, WPA. The tool writes WIFI:T:WPA;S:Guest-WiFi;P:welcome-2026;; and reports version 3 (29 × 29 modules) at level M. With the default 1024 px setting, the PNG is 999 × 999 px: 37 modules including the 4-module quiet zone, 27 px each.

    Punctuation. Name Cafe;Guest, password p@ss:w,d. The string becomes WIFI:T:WPA;S:Cafe\;Guest;P:p@ss\:w\,d;;. Without the backslash, a phone reads the name as Cafe, because ; ends a field. The tool also notes that a reader following only the WPA3 specification would not remove the backslashes: the specification percent-encodes ; instead, and Android does not decode percent signs.

    WPA3 only. Name Home, password correct horse, WPA3 only: WIFI:T:WPA;R:1;S:Home;P:correct horse;;, the same string as example 2 in section 7.3 of the specification. The 8–63 character check is skipped, because WPA3’s SAE handshake accepts any password.

    A password that cannot be right. 1234567 on a WPA network gets a warning: a WPA2 passphrase is 8 to 63 printable ASCII characters, or the key itself as 64 hex digits (the limits in hostapd’s sample configuration). The code is still drawn, in case the router runs WPA3 only.

    A name that is too long. 咖啡店二楼访客无线网络 is 11 characters but 33 bytes in UTF-8. An SSID is at most 32 bytes (IEEE 802.11), so no router broadcasts that name, and the tool says so instead of drawing a code that can never connect.

    Which Phones Read It

    • Android. On Android, Settings › Network & internet › Internet › your network › Share shows the network as a QR code (Google help). Samsung’s connection guide has a QR code icon on the Wi-Fi screen for scanning one. The AOSP parser accepts WPA, SAE, WEP and nopass, reads R:1, and rejects a password network with no P field.
    • iPhone. Apple’s iPhone User Guide (Find and share your Wi-Fi password) has a Show Network QR Code button in the Passwords app that others scan to join. Apple does not publish which WIFI: fields the Camera reads, and we have not tested an iPhone for this page.
    • Other brands. We found no Xiaomi or Huawei documentation of the fields they accept. Test with the phones your guests use.

    The Printable Card

    The card is 100 mm wide. Its height grows with long names and passwords, which wrap and are never cut. The PNG is 1200 px wide, about 305 dpi, and each module is a whole number of pixels. The SVG keeps its 100 mm size when printed. Names and passwords use a monospaced font, and spaces in a password print as ␣. Untick Print the password on the card to print the code and name only.

    A printed password belongs to a guest network. Anyone who photographs the card can read the password with any QR reader, so keep the network your own devices use off the card.

    How It Differs from Other Generators

    We ran the same inputs through other generators on 2026-10-01:

    • qifi.org runs in the browser and escapes correctly. With the name 咖啡店二楼访客无线网络, it writes one byte per character, the low byte of each UTF-16 unit, so zxing-cpp read the name back as 紡洛|ソ「狒Qワ. It gave no length warning.
    • GenQRCode sends the password in a JSON request to its /preview endpoint before it shows the preview.

    This tool keeps the name in UTF-8, escapes it the way Android’s parser expects, checks the 32-byte and password limits before drawing, and uploads nothing.

    Limits

    • No WPA2-Enterprise (802.1X) fields. ZXing lists E, A, I and PH2 for them, the WPA3 specification does not define them, and phones that support them differ.
    • No SAE-PK public key (K) or SAE password identifier (I).
    • Hex-looking names such as CAFE1234 are written as typed. ZXing’s old Android app read an all-hex SSID as raw bytes and suggested quotes, but the current branch of Android’s WifiUriParser keeps the quotes as part of the name.
    • The quiet zone is fixed at 4 modules, the minimum ISO/IEC 18004 requires. For a code for a link or text, use the QR Code Generator. For a strong password to print, use the Password Generator.

    FAQ

    Is my Wi-Fi password sent anywhere?

    No. The string and the QR code are built in your browser with the node-qrcode library that this site serves from its own /vendor folder. The page stores nothing you type, and this tool page loads neither Google Analytics nor AdSense, because it handles a network password.

    Which security option should I pick?

    WPA / WPA2 / WPA3 for almost every home and office router; it writes T:WPA, which the WPA3 specification uses for every password network. Pick WPA3 only if the router runs WPA3-Personal with no WPA2 fallback: the code adds R:1, which tells phones that support it to use WPA3 for this network from the first connection. Pick No password for an open network.

    Why does the tool refuse a WPA network without a password?

    Android's own parser (WifiUriParser) throws such a code away as an invalid format, so phones would show nothing or an error. If the network really has no password, choose No password (open).

    My network name is in Chinese, Japanese or Korean. Will it work?

    Yes, if the name fits in 32 bytes of UTF-8, which is about 10 CJK characters, and the router broadcasts the name in UTF-8. The byte counter next to the field shows the length, and the tool warns above 32.

    Does the code work for a hidden network?

    Yes. Tick Hidden network (name not broadcast) and the code gets H:true, so the phone also looks for a network whose name the router does not broadcast. The printable card then shows the line Hidden network under the name.

    Can a laptop use the code?

    A laptop without a QR scanner needs the name and password typed. That is what the printable card is for: it prints both under the code in a monospaced font, with spaces shown as ␣.