Build a QR code from a link, text, Wi-Fi login, email, phone or SMS payload and download it as PNG or SVG — no expiry, no tracking redirect, no watermark. Runs entirely in your browser — your numbers never leave this device.
Payload type
https://kwikfig.pages.dev
How it works
Payload first: the code stores the payload string itself — a URL exactly as written, plain text, or WIFI:T:WPA;S:network;P:password;; — with no redirect sitting in between | Error correction lets a code survive damage to roughly 7% (level L), 15% (M), 25% (Q) or 30% (H) of its modules
QR payload formats — what the code actually contains
Type
Format
Example
URL / link
The address itself, exactly as a browser would open it
https://kwikfig.pages.dev
Plain text
The text itself, character for character
Meet at gate 4 at 18:30
Wi-Fi
WIFI:T:WPA;S:<ssid>;P:<password>;; — ; , " and \ inside fields are backslash-escaped
WIFI:T:WPA;S:Home\;Net;P:p@ss\"word;;
Email
mailto:<address>?subject=<subject>&body=<body>
mailto:a@b.co?subject=Hi+there&body=Line+1
Phone
tel:<number with country code, spaces and brackets removed>
tel:+15550102233
SMS
sms:<number>?body=<percent-encoded message>
sms:+15550102233?body=on%20my%20way
Choose a payload type, fill in its fields, and the generator encodes that payload directly into the code and offers it as a PNG for documents and slides or an SVG for print and design tools, where it scales without blurring. The payload formats are the open standards every phone camera already understands — the table below shows each one — so a Wi-Fi code joins a guest to the network, a mailto code opens a composed email, and a tel code offers to dial, with no app beyond the camera. For Wi-Fi, the characters that mean something inside the format (semicolons, commas, quotes, backslashes) are backslash-escaped in the network name and password automatically, which is the detail hand-written Wi-Fi payloads usually get wrong.
What this generator refuses to do is the point of it. Many free generators quietly encode their own tracking link, so the code dies when the subscription lapses and every scan is logged on their server. A code made here encodes your payload itself — nothing sits between the scanner and your link — so it cannot expire, carries no watermark, is not tracked, and keeps working printed on a menu or a poster for as long as the destination itself lives. The honest limit runs the other way: because the payload is baked in, a printed code cannot be edited afterwards. Changed the Wi-Fi password? Print a new code.
Capacity and correction are the two settings worth understanding. Longer payloads make denser codes — a short link produces a bold, easily scanned grid, while a full vCard-sized text produces a fine one that needs a bigger print size. Error correction adds spare modules that let the code scan despite dirt, glare or a logo in the middle, at the cost of density; M or Q suits most real-world printing. Generation happens in your browser: the payloads you enter, Wi-Fi passwords included, are never uploaded.
The payload follows the WIFI format: T is the security type, S the network name, P the password. The semicolon inside the name and the quote inside the password would break the format's field structure, so each is backslash-escaped, and the payload ends with a double semicolon.
Result
WIFI:T:WPA;S:Home\;Net;P:p@ss\"word;;
An email code with subject and body prefilled
Input
Email = a@b.co, Subject = Hi there, Body = Line 1
Working
The mailto payload carries the subject and body as query parameters, encoded the way mail links expect (spaces as + in this scheme). Scanning the code opens the visitor's mail app with the message already drafted.
Result
mailto:a@b.co?subject=Hi+there&body=Line+1
A tap-to-text SMS code
Input
Number = +15550102233, Message = on my way
Working
The sms payload holds the number in international format and the message percent-encoded after ?body= — spaces become %20 — so the phone opens its messaging app with the text ready to send.
Result
sms:+15550102233?body=on%20my%20way
Frequently asked questions
Do QR codes made here expire?
No — and they cannot. The code encodes your payload directly: the link, the Wi-Fi login, the phone number itself. There is no redirect through any server and no account behind it, so there is nothing to lapse, nothing tracking scans, and no watermark. A code stops working only if its destination does — the page is taken down, or the Wi-Fi password changes.
PNG or SVG — which should I download?
SVG for anything printed, resized or handed to a designer: it is a vector, so it stays sharp at poster size and at business-card size. PNG for slides, documents, emails and web pages, where a fixed raster image is what the software expects. Download the PNG large and let the document scale it down, never the reverse.
Why does my code look very dense, and will it still scan?
Density follows payload length: more characters need more modules. A dense code still scans if it is printed big enough and with a quiet zone — the plain margin around the code, at least four modules wide — left intact. For long payloads, shorten the content first (a short URL beats a long one), print larger, and raise error correction to Q if the code will live outdoors or on packaging.
What error-correction level should I pick?
M (about 15% damage tolerance) is the sensible default for screens and clean print. Choose Q (25%) or H (30%) when the code will be handled, printed on textured material, or carry a logo over its centre — the cost is a denser code. L (7%) gives the least dense code and suits short payloads shown on a screen at large size.
Can I change where a printed code points later?
No, and be suspicious of services implying otherwise without mentioning the trade: editable codes work by encoding the service's own short link, which is exactly the redirect that lets them expire and track scans. Here the payload is final at print time. If the destination may change, point the code at a page you control and change where that page leads.
Is my Wi-Fi password uploaded to make the code?
No. The code is generated in your browser — the payload, including any password inside it, never leaves your device. Remember the flip side once you print it: a Wi-Fi QR code shows the password to anyone who scans it, which is the point for guests and a reason to keep staff-network codes out of public view.