QRQR Code Agency
Guides

Tutorial - Wi-Fi poster for cafes

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

Tutorial: Wi-Fi poster for cafes

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.

Step 1: 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

Step 2: Make the call

cURL

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

Python

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)

Step 3: 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).

Step 4: 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

Step 5: 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"
}

Step 6: 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.

tip: 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

warning: 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.

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

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

What is next

On this page