Wi-Fi QR Code Generator API
Generate a Wi-Fi QR code (SVG) that phones scan to join a network, plus the WIFI: payload text.
POST /api/v1/tools/wifi-qr-code-generatorMCP wifi_qr_code_generatorGeneratorsCreate a QR code that joins guests to your Wi-Fi in one scan. Supports WPA2, WPA3, WEP, open and hidden networks, with a printable Scan to join card.
Input
Send these as a JSON object. Unknown fields are rejected.
- ssid
- Network name (SSID), up to 32 bytes. (string, up to 64 characters, required)
- password
- Network password. WPA/SAE: 8 to 63 characters or a 64-digit hex key. WEP: 5 or 13 characters, or 10 or 26 hex digits. Ignored for nopass. (string, up to 64 characters, default "")
- security
- WPA (WPA/WPA2 and mixed WPA3), SAE (WPA3 only), WEP (legacy) or nopass (open network). (string, one of WPA, SAE, WEP, nopass, default "WPA")
- hidden
- The network does not broadcast its name. (boolean, default false)
- size
- SVG width and height in pixels. (integer, 64 to 4096, default 512)
curl https://pithlab.com/api/v1/tools/wifi-qr-code-generator \n -H "Authorization: Bearer $PITHLAB_KEY" \n -H "Content-Type: application/json" \n -d '{"ssid":"Cafe Guest","password":"espresso-2026","security":"WPA"}'Example response
{
"ok": true,
"result": {
"payload": "WIFI:T:WPA;S:Cafe Guest;P:espresso-2026;;",
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 37 37\" width=\"NaN\" height=\"NaN\" shape-rendering=\"crispEdges\"><rect width=\"37\" height=\"37\" fill=\"#ffffff\"/><path d=\"M4 4h7v1h-7zM15 4h2v1h-2zM23 4h1v1h-1zM26 4h7v1h-7zM4 5h1v1h-1zM10 5h1v1h-1zM13 5h2v1h-2zM16 5h2v1h-2zM19 5h2v1h-2zM23 5h2v1h-2zM26 5h1v1h-1zM32 5h1v1h-1zM4 6h1v1h-1zM6 6h3v1h-3zM10 6h1v1h-1zM12 6h1v1h-1zM15 6h1v1h-1zM18 6h1v1h-1zM23 6h1v1h-1zM26 6h1v1h-1zM28 6h3v1h-3zM32 6h1v1h-1zM4 7h1v1h-1zM6 7h3v1h-3zM10 7h1v1h-1zM12 7h4v1h-4zM17 7h3v1h-3zM22 7h1v1h-1zM26 7h1v1h-1zM28 7h3v1h-3zM32 7h1v1h-1zM4 8h1v1h-1zM6 8h3v1h-3zM10 8h1v1h-1zM12 8h1v1h-1zM15 8h2v1h-2zM19 8h1v1h-1zM22 8h1v1h-1zM24 8h1v1h-1zM26 8h1v1h-1zM28 8h3v1h-3zM32 8h1v1h-1zM4 9h1v1h-1zM10 9h1v1h-1zM12 9h2v1h-2zM15 9h3v1h-3zM19 9h4v1h-4zM24 9h1v1h-1zM26 9h1v1h-1zM32 9h1v1h-1zM4 10h7v1h-7zM12 10h1v1h-1zM14 10h1v1h-1zM16 10h1v1h-1zM18 10h1v1h-1zM20 10h1v1h-1zM22 10h1v1h-1zM24 10h1v1h-1zM26 10h7v1h-7zM12 11h1v1h-1zM16 11h3v1h-3zM21 11h1v1h-1zM23 11h2v1h-2zM4 12h1v1h-1zM6 12h5v1h-5zM15 12h3v1h-3zM19 12h1v1h-1zM21 12h2v1h-2zM24 12h1v1h-1zM26 12h5v1h-5zM5 13h5v1h-5zM11 13h1v1h-1zM14 13h1v1h-1zM18 13h1v1h-1zM22 13h2v1h-2zM26 13h1v1h-1zM28 13h2v1h-2zM32 13h1v1h-1zM5 14h1v1h-1zM8 14h1v1h-1zM10 14h3v1h-3zM14 14h2v1h-2zM17 14h1v1h-1zM19 14h3v1h-3zM24 14h1v1h-1zM28 14h1v1h-1zM30 14h1v1h-1zM32 14h1v1h-1zM4 15h3v1h-3zM12 15h7v1h-7zM22 15h8v1h-8zM32 15h1v1h-1zM4 16h1v1h-1zM6 16h2v1h-2zM9 16h5v1h-5zM16 16h2v1h-2zM19 16h2v1h-2zM24 16h2v1h-2zM29 16h4v1h-4zM6 17h1v1h-1zM8 17h1v1h-1zM12 17h1v1h-1zM18 17h3v1h-3zM24 17h1v1h-1zM29 17h4v1h-4zM4 18h2v1h-2zM7 18h1v1h-1zM10 18h4v1h-4zM15 18h2v1h-2zM21 18h1v1h-1zM27 18h1v1h-1zM30 18h1v1h-1zM4 19h5v1h-5zM12 19h3v1h-3zM16 19h1v1h-1zM23 19h4v1h-4zM28 19h3v1h-3zM4 20h2v1h-2zM8 20h4v1h-4zM13 20h1v1h-1zM15 20h1v1h-1zM19 20h4v1h-4zM24 20h1v1h-1zM27 20h1v1h-1zM30 20h1v1h-1zM4 21h1v1h-1zM7 21h2v1h-2zM12 21h3v1h-3zM16 21h2v1h-2zM20 21h1v1h-1zM24 21h3v1h-3zM28 21h2v1h-2zM31 21h2v1h-2zM4 22h1v1h-1zM8 22h4v1h-4zM14 22h1v1h-1zM16 22h3v1h-3zM21 22h1v1h-1zM24 22h1v1h-1zM27 22h2v1h-2zM31 22h1v1h-1zM4 23h1v1h-1zM6 23h1v1h-1zM9 23h1v1h-1zM11 23h1v1h-1zM13 23h1v1h-1zM17 23h1v1h-1zM20 23h1v1h-1zM23 23h7v1h-7zM32 23h1v1h-1zM4 24h1v1h-1zM7 24h5v1h-5zM13 24h1v1h-1zM15 24h1v1h-1zM18 24h3v1h-3zM22 24h1v1h-1zM24 24h5v1h-5zM30 24h3v1h-3zM12 25h1v1h-1zM15 25h2v1h-2zM22 25h3v1h-3zM28 25h3v1h-3zM4 26h7v1h-7zM13 26h4v1h-4zM19 26h3v1h-3zM23 26h2v1h-2zM26 26h1v1h-1zM28 26h3v1h-3zM4 27h1v1h-1zM10 27h1v1h-1zM12 27h1v1h-1zM18 27h1v1h-1zM20 27h1v1h-1zM23 27h2v1h-2zM28 27h2v1h-2zM4 28h1v1h-1zM6 28h3v1h-3zM10 28h1v1h-1zM12 28h4v1h-4zM19 28h4v1h-4zM24 28h5v1h-5zM4 29h1v1h-1zM6 29h3v1h-3zM10 29h1v1h-1zM12 29h1v1h-1zM15 29h2v1h-2zM18 29h1v1h-1zM22 29h1v1h-1zM27 29h1v1h-1zM31 29h1v1h-1zM4 30h1v1h-1zM6 30h3v1h-3zM10 30h1v1h-1zM12 30h1v1h-1zM15 30h3v1h-3zM19 30h3v1h-3zM23 30h1v1h-1zM29 30h1v1h-1zM31 30h1v1h-1zM4 31h1v1h-1zM10 31h1v1h-1zM14 31h4v1h-4zM20 31h1v1h-1zM22 31h1v1h-1zM25 31h1v1h-1zM27 31h1v1h-1zM29 31h4v1h-4zM4 32h7v1h-7zM12 32h5v1h-5zM19 32h2v1h-2zM25 32h2v1h-2zM28 32h4v1h-4z\" fill=\"#000000\"/></svg>",
"version": 3
}
}