QRQR Code Agency
Guides

Wi-Fi poster for cafes

A 10 minute walk-through to render a print-ready Wi-Fi join QR for a cafe poster.

In this 10 minute walk-through, you will generate a Wi-Fi join poster. A guest scans the QR with their phone camera, taps "Join Network", and they are online with no password to type.

What you will build

A 6 x 6 inch print-ready PNG showing your cafe's Wi-Fi QR. Black modules on white background, your bracket logo in the middle.

Plan your QR

ParamValueWhy
data_typewifiTriggers the auto-join action
payload.ssid"Cafe Plein Soleil"Your network's name
payload.password"Welcome2026"The shared password
payload.auth"WPA"Almost certainly correct (modern routers)
size_inches6Big enough to scan from a meter away
color"black"Maximum contrast
background"white"Print friendly
format"png"Universal compatibility

Make the call

curl -X POST https://api.qrstudio.agency/api/v1/generate/ \
  -H "X-Api-Key: smk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "data_type": "wifi",
    "payload": {
      "ssid": "Cafe Plein Soleil",
      "password": "Welcome2026",
      "auth": "WPA"
    },
    "size_inches": 6,
    "color": "black",
    "background": "white",
    "pattern": "rounded"
  }' \
  --output cafe-wifi.png
import requests

r = requests.post(
    "https://api.qrstudio.agency/api/v1/generate/",
    headers={"X-Api-Key": "smk_..."},
    json={
        "data_type": "wifi",
        "payload": {
            "ssid": "Cafe Plein Soleil",
            "password": "Welcome2026",
            "auth": "WPA",
        },
        "size_inches": 6,
        "color": "black",
        "background": "white",
        "pattern": "rounded",
    },
)
open("cafe-wifi.png", "wb").write(r.content)

Test the scan

  1. Open your phone's Camera (iOS) or Google Lens / Android scanner.
  2. Point it at cafe-wifi.png on your screen.
  3. Tap the "Join Network" prompt.
  4. Phone connects automatically.

If the phone shows the raw WIFI:T:WPA;...;; string instead of a join button, the OS is too old (iOS 11+ / Android 10+ required).

Make it pretty

Add your cafe's logo in the center for branding. Custom logos require Starter plan or higher.

curl -X POST https://api.qrstudio.agency/api/v1/generate/ \
  -H "X-Api-Key: smk_..." \
  -F "data_type=wifi" \
  -F 'payload={"ssid":"Cafe Plein Soleil","password":"Welcome2026","auth":"WPA"}' \
  -F "size_inches=6" \
  -F "color=black" \
  -F "background=white" \
  -F "logo_file=@/path/to/cafe-logo.png" \
  --output cafe-wifi-branded.png

Add a "scan me" frame

{
  "data_type": "wifi",
  "payload": { "ssid": "Cafe Plein Soleil", "password": "Welcome2026", "auth": "WPA" },
  "size_inches": 6,
  "color": "black",
  "background": "white",
  "pattern": "rounded",
  "frame_style": "scan-me-bottom",
  "frame_color": "#6c48e8",
  "frame_label": "Free Wi-Fi"
}

Print

Send cafe-wifi-branded.png to any print shop. The PNG is rendered at 300 DPI by default, so 6 x 6 inches at the printer's native resolution gives you a crisp output.

Add human-readable text

Underneath the QR, also print the password in plain text:

Free Wi-Fi Network: Cafe Plein Soleil Password: Welcome2026 Or scan the QR above

Older phones, kids' devices, broken cameras: give them a fallback.

Common issues

Special characters in password

Passwords with \, ;, ,, :, " get auto-escaped by the API per the Wi-Fi QR spec. You do not need to escape them yourself.

Open networks

For a Wi-Fi without a password, set "auth": "NOPASS" and skip password.

Hidden SSID

If your network is hidden (broadcasts no beacon), set "hidden": true in the payload.

What is next

On this page