How it works
Every generator page reads its own fields from the query string. Send someone to /wifi?ssid=Cafe%20Guest&password=flatwhite and they land on the WiFi generator with both fields filled in and the code already drawn. They still choose whether to download it — a link never triggers a download, and it never sets colours or shapes, which stay with the person making the code.
This is the whole "API". There is no endpoint that returns an image, because there is no server: the QR code is rendered by JavaScript in the visitor’s browser. What you get instead is a stable link format you can build from a spreadsheet, a CMS, a chatbot or a printed instruction.
Notes on values
URL-encode everything. Spaces become %20, ampersands %26, line breaks %0A. Boolean fields such as hidden accept true, 1, yes or on. The home page also accepts type= to preselect a content type without visiting its own page.
Anything you put in a link is visible to whoever sees the link, including a WiFi password. That is a property of links, not of this site, but it is worth remembering before you paste one into a group chat.
A machine-readable description of the same parameters is published as an OpenAPI document, and a plain-text summary for language models at /llms.txt.
Parameters by type
Field names are the query parameters. Aliases are accepted as well.
Link — /
| Parameter | Field | Aliases |
|---|---|---|
| url | Link | u, link |
/?url=…
WiFi — /wifi
| Parameter | Field | Aliases |
|---|---|---|
| ssid | Network name (SSID) | s, network |
| password | Password | p, pass |
| security | Security (WPA / WEP / nopass) | t, type |
| hidden | Hidden network | h |
/wifi?ssid=…&password=…
WhatsApp — /whatsapp
| Parameter | Field | Aliases |
|---|---|---|
| phone | Phone number with country code | number, n |
| message | Pre-filled message (optional) | text, m |
/whatsapp?phone=…&message=…
Contact — /vcard
| Parameter | Field | Aliases |
|---|---|---|
| first | First name | firstname, fn |
| last | Last name | lastname, ln |
| org | Organisation | |
| title | Job title | role |
| phone | Mobile | tel, mobile, cell |
| workPhone | Work phone | work, worktel |
| url | Website | website |
| street | Street | address, adr |
| city | City | town, locality |
| region | Region | state, province |
| postcode | Postcode | zip, postalcode |
| country | Country | |
| note | Note |
/vcard?first=…&last=…
Text — /text
| Parameter | Field | Aliases |
|---|---|---|
| text | Text | t, q |
/text?text=…
Email — /email
| Parameter | Field | Aliases |
|---|---|---|
| to | To | email, address, e |
| subject | Subject (optional) | s |
| body | Message (optional) | b, message |
/email?to=…&subject=…
SMS — /sms
| Parameter | Field | Aliases |
|---|---|---|
| phone | Phone number | number, n |
| message | Message (optional) | text, body, m |
/sms?phone=…&message=…
Phone — /phone
| Parameter | Field | Aliases |
|---|---|---|
| phone | Phone number | number, tel, n |
/phone?phone=…
Location — /location
| Parameter | Field | Aliases |
|---|---|---|
| lat | Latitude | latitude |
| lng | Longitude | longitude, lon, long |
/location?lat=…&lng=…