Payload formats beyond plain URLs
QR codes encode text, and scanners recognize several structured prefixes that trigger native behavior:
| Purpose | Format |
|---|---|
| Website | https://example.com (include the scheme) |
| WiFi join | WIFI:T:WPA;S:NetworkName;P:password;; |
| Phone call | tel:+905551234567 |
| Email draft | mailto:hi@example.com?subject=Hello |
| SMS | smsto:+905551234567:Message text |
| Contact card | vCard text (BEGIN:VCARD ... END:VCARD) |
The WiFi format is the everyday hero: guests scan once instead of typing a password. Note that special characters in the SSID or password (;, ,, :, \) must be backslash-escaped.
Why shorter content makes better codes
Every character adds modules to the grid. A 30-character URL produces a sparse, scan-friendly Version 2–3 code; a 300-character URL with tracking parameters produces a dense grid that fails at small print sizes and in dim light. Before generating: strip unnecessary query parameters, prefer your domain root or a short path, and if you need click analytics, use a short redirect URL you control rather than a long campaign-tagged one.
Static codes, dynamic destinations
The PNG this tool produces is static — the content is baked into the pattern forever, with no expiry and no third-party dependency. If you need to change the destination after printing, encode a URL on a domain you control and manage the redirect server-side (https://yoursite.com/r/launch → wherever you need it to point this month). That gives you “dynamic QR” behavior without subscribing to a QR service that can break your printed codes if the subscription lapses.
Pre-print checklist
- Scan the final artwork (not the screen preview) with at least two different phones.
- Verify contrast: dark modules on a light background; never invert below 4:1 contrast.
- Confirm the quiet zone survived the designer’s crop.
- Open the URL from the scan — check it resolves over HTTPS and doesn’t redirect through a login wall.