Guide
QR Codes for Links, Email, SMS, and Contacts Explained
The same QR matrix can carry different kinds of text. Scanners decode bytes first and only then decide whether those bytes are a website, a mail draft, or a contact card. Matrix & Mark is a QR code maker with seven separate payload builders so that each mode writes the format applications expect. This article walks through those formats without treating them as interchangeable labels.
URL QR codes
URL mode stores an absolute http:// or https:// address. Example: https://example.com/library/hours. The URL generator rejects javascript:, data:, and file: schemes and will not silently turn loose text into a site. If you omit the scheme, you can prepend https:// in a visible step. The code does not wrap the address in a tracking redirect. Query strings and Unicode in the path are stored as you typed them, so proofread the encoded content box before you print a stack of posters.
Text QR codes
Plain text is stored as UTF-8 bytes, including line breaks. Example: Workshop opens at 09:00. Bring a name badge. The text generator will not strip characters to force a fit. When the message exceeds capacity, it says so. Scanners typically show the text. They do not load a page unless the text happens to look like a URL and the app chooses to link it.
Email payloads
Email mode builds a mailto URI. Recipient-only example: mailto:hello@example.com. With a subject: mailto:hello@example.com?subject=Exhibit%20hours. Subject and body are percent-encoded so spaces and punctuation survive. The email generator does not send mail. A device may open a compose window; it may also show the URI and stop.
Phone URIs
Telephone mode writes tel: plus a normalized number. Visual separators disappear; letters are rejected; no country code is invented. Example: tel:+12025550123 from the input +1 202 555 0123. Compatible devices may open the dialer. Scanning does not place a call. Use the phone generator for this format.
SMS URIs
SMS mode uses sms:+number?body= with an encoded message. Example: sms:+12025550123?body=Running%20five%20minutes%20late. Support is uneven across operating systems. Some cameras open a draft; others ignore the prefix. The website never sends the SMS. See the SMS generator and keep a printed number as backup.
Wi-Fi payloads
Wi-Fi mode writes WIFI:T:...;S:...;P:...;; with escaping for special characters and an optional hidden flag. Open networks omit P. Encoding is not encryption. Details: how to make a Wi-Fi QR code and the Wi-Fi generator.
vCard contact data
Contact mode emits vCard 3.0 with CRLF line endings. A display name is required. Empty optional fields are omitted. Example name-only card:
BEGIN:VCARD
VERSION:3.0
N:Lee;Jordan;;;
FN:Jordan Lee
END:VCARD
A fuller fictional card may add TEL:+12025550123 and EMAIL:jordan.lee@example.com. Import dialogs differ. Use the contact generator.
Static versus redirect-based codes
Every code from this studio is static: the payload is the matrix. Redirect-based products store a short URL that a server can change later and perhaps count. That can be useful, but it is a different system. It needs infrastructure, it can fail when the host is down, and it is not what these pages generate. Do not expect scan analytics from a PNG you download here.
Device compatibility
URL and short text are the most widely handled. mailto, tel, sms, WIFI, and vCard depend on the scanning application. A valid matrix can still produce a raw-text screen. Test the target devices. Offer a human-readable fallback: print the URL, phone number, or SSID beside the square.
Privacy and security considerations
Do not encode credentials you would not write on a card. Do not assume a URL is safe because it arrived through a QR code. This site does not visit the addresses you type and does not verify them. Wi-Fi passwords remain in the browser during generation and are not stored. Appearance colors may persist in localStorage; payloads do not. See the privacy policy. Static codes also cannot be rewritten after someone has copied the image, which is why a guest network is a better Wi-Fi subject than a staff password.
Example: two email codes
Recipient only: hello@example.com in the email form, empty subject and body. Payload mailto:hello@example.com. Second, add subject Exhibit hours and body Please send Saturday opening times. Copy encoded content and confirm percent-encoding. Scan both. Neither send should occur until a person presses send in their mail app.
Example: contact with and without extras
First, Jordan Lee with no phone or email. Second, add +12025550123, jordan.lee@example.com, organization North River Pressroom, and https://example.com/jordan-lee. Compare UTF-8 byte counts and versions in the preview. The denser card may need a larger print. These samples are fictional and are not the operator’s details.
Start from the QR code generator, or read how to create a QR code online and PNG versus SVG.
FAQ
Can one QR code hold a URL and a vCard together?
Not as two independent actions. One matrix holds one payload. Choose the type that matches the action you want.
Why did a phone show WIFI: text instead of joining?
The decoder worked; the join UI is optional. Try the system camera or a utility that documents Wi-Fi QR support.
Are these codes dynamic?
No. Edit the form and generate a new file if the content must change.