A QR code is just a box: what matters is inside
A QR code doesn’t “do” anything by itself. It’s a container: it encodes a text string, and the phone reads that string and decides the action. https://… becomes “open link,” tel:… becomes “call,” WIFI:… becomes “join network.” Understanding these formats — the payloads — means understanding what you actually put in a code, and why some codes “don’t work.”
A tour of formats, with payloads
URL — the classic
https://example.com/offer
The action: open the browser. The generator automatically prepends https:// if you enter a bare domain — a payload that doesn’t start with a known scheme is treated as plain text by many phones, not as a link.
Phone — tel:
tel:+14155552671
Offers to call. Useful on service posters (“scan to reach the agency”). Keep the international +1… format: a local number scanned from abroad no longer dials correctly.
Email — mailto:
mailto:contact@example.com?subject=Quote&body=Hello
Opens the email client with recipient, subject, and body pre-filled. Spaces and accents go through URL encoding — the generator handles it.
SMS — sms:
sms:+14155552671?body=I%20am%20interested
Opens the SMS app with a pre-filled message — the user confirms sending. Supported on iOS and Android, though the action depends on the default SMS client.
Wi-Fi — WIFI:
WIFI:T:WPA;S:MyBox;P:password;;
Joins the network with no typing. Field-by-field format, with escaping of ; and : — full detail in Wi-Fi QR code.
Contact — vCard
BEGIN:VCARD
VERSION:3.0
N:Doe;Jane;;;
FN:Jane Doe
TEL:+14155552671
END:VCARD
Offers “Save contact.” The line-per-field structure and ;/, escaping are detailed in vCard QR code.
Geolocation — geo:
geo:48.8566,2.3522
Opens the map at the given coordinates. Handy for guiding people to a precise point — a venue, a hidden entrance — without making them type an address.
Plain text
Meeting room B, door code 4291
Any text: the phone displays it, to copy manually. Useful for access codes, references, instructions — as long as content stays reasonable.
The prefix is the contract
Notice the pattern across every format: the payload announces its type through a prefix — https://, tel:, mailto:, sms:, WIFI:, BEGIN:VCARD. That prefix is a contract between the generator and the phone: write it exactly (lowercase schemes, the right separators, proper escaping) and the phone offers the right action; break it and the payload degrades into inert text. It’s also why hand-typing payloads is error-prone — a generator that knows the formats produces the contract correctly every time.
How much text fits in a code?
Maximum capacity depends on the character type: at maximum size (version 40, level L), the standard reaches 7,089 digits, 4,296 alphanumeric characters, or 2,953 bytes in binary — enough for a small full text. But these figures are theoretical: every added character densifies the pattern, and beyond a few hundred characters the modules get so small that reading demands a large, sharp, well-lit code. In practice: short URLs, reasonable vCards, texts under ~300 characters.
What makes a payload fail
- No scheme:
www.example.comwithouthttps://is often shown as text, not opened as a link. - URL-only scanner: some built-in scanners only recognize links; an
sms:or a vCard shows raw or opens nothing. A scanner that displays content — like FlashScan Pro’s — is the workaround. - Content too long: beyond a few hundred characters the pattern gets very dense; at small print sizes, readability suffers (see print size).
- Unescaped characters in structured formats (
;in vCard or Wi-Fi) — serious generators escape them for you.
The payload isn’t the destination
A useful nuance for diagnosing “weird” codes: what’s decoded and what happens next are two different things. A code containing https://… can still lead elsewhere if the URL redirects. Conversely, a code displayed “for a website” may encode a tel: or plain text — only the decoded content is authoritative. That’s why a scanner showing the raw payload before opening anything is your best verification tool: it shows what’s actually encoded, not what the medium claims to encode.
And the “exotic” formats?
You’ll meet other payloads in the wild: geo: for GPS coordinates, tel: as seen, WIFI: for networks, BEGIN:VCARD for contacts, but also MATMSG: (alternative email), SMSTO:, or proprietary schemes (instagram://, paypal.me/…). The principle doesn’t change: the code carries a string, and the device — or the installed app — decides whether the scheme means anything. An unknown scheme simply displays as text.
In the generator
The standard mode takes text or URL (with automatic https://), Wi-Fi mode assembles the WIFI:, vCard builds the card, batch processes URL lists. After generating, the copy button shows the raw payload produced — the best way to verify what’s actually encoded before printing. And to read any code you come across, the scanner shows its content in plain text before opening anything.