QR Code Payload Formatter (text / URL / WiFi / vCard)

Build the canonical text payload encoded in a QR code โ€” plain text, URL, WiFi-network credentials, or vCard contact. Includes a ready-to-render image URL for visual scanning.

Inputs

Each type has a standardised payload format read by every modern QR scanner.

Used for the text, url, mailto, and sms payload types. For mailto: enter just the email address; for sms: enter the message body.

Network name.

Pre-shared key. Use empty for open networks.

Full name (FN field).

For SMS payloads only.

Result

URL payload โ€” 23 bytes
https://scoutmytool.com
Paste this string into any QR-rendering library to produce the visual code.
  • Full payloadhttps://scoutmytool.com
  • URL-encodedhttps%3A%2F%2Fscoutmytool.com
  • Render link (api.qrserver.com โ€” free, no auth)Copy/paste into a browser tab to see and save the QR image.https://api.qrserver.com/v1/create-qr-code/?size=240x240&data=https%3A%2F%2Fscoutmytool.com
  • Bytes23
  • Recommended error-correction levelHigher levels make the QR more robust at the cost of payload capacity.H (30% recovery)
Note โ€” The renderer URL hits an external service (api.qrserver.com). For privacy-sensitive payloads (WiFi password, contact info), use a locally-installed QR library instead.

Step-by-step

  1. Pick payload type โ†’ url.
  2. Build canonical string per the QR scanner-recognised format (WIFI:, BEGIN:VCARD, SMSTO:, mailto:).
  3. URL-encode for use in a renderer query string.

How to use this calculator

  • Pick the payload type. The relevant fields highlight in the form below.
  • Fill in the fields. The full payload is shown in the breakdown.
  • Copy/paste the "Render link" into a browser tab to view the QR.
  • Or copy the "Full payload" into your own QR library (qrcode-generator, qrcode npm, every smartphone OS API).

About this calculator

Most "QR code generator" tools just call a third-party renderer; the interesting part is building the payload your QR is going to encode. WiFi credentials use a specific colon-and-semicolon format that scanners auto-recognise as "join this network". Contacts use the vCard format with BEGIN:VCARD / END:VCARD. SMS uses SMSTO:number:message. This tool builds the canonical text for each so you can paste it into any QR-rendering library (or the included render-URL).

How it works โ€” the formula

WiFi : WIFI:T:<auth>;S:<ssid>;P:<password>;; vCard: BEGIN:VCARD\nVERSION:3.0\nFN:<name>\n...\nEND:VCARD SMS : SMSTO:<number>:<message>

These payload formats are recognised by every modern QR scanner because they have specific prefixes the scanner UI uses to decide what action to suggest (join network, add contact, open mailto:, etc.). The actual QR encoding is just text wrapped in error-correcting codewords โ€” see ISO/IEC 18004 for the binary encoding details.

Worked examples

Example 1
URL QR
Inputs:
kind=url, text=https://example.com
Output:
payload "https://example.com" (19 bytes)
Example 2
WiFi QR (WPA)
Inputs:
kind=wifi, ssid=Home, password=hunter2, auth=WPA
Output:
WIFI:T:WPA;S:Home;P:hunter2;;
Example 3
vCard QR
Inputs:
kind=vcard, name=Jane, org=Acme
Output:
BEGIN:VCARD\nVERSION:3.0\nFN:Jane\nORG:Acme\nEND:VCARD

Limitations

  • No inline rendered QR image โ€” the rendered preview URL points to an external service. For privacy-sensitive payloads use a local library (qrcode-generator npm).
  • Payload-size validation is an upper bound; actual capacity depends on the chosen error-correction level and character mode.
  • Does not support all vCard 4.0 advanced fields (PHOTO, GEO, KEY, etc.).

Payload formats are stable, scanner-recognised standards โ€” they decode the same way on every modern scanner regardless of who renders the visual code.

Frequently asked

WIFI:T:<auth>;S:<ssid>;P:<password>;; โ€” where <auth> is WPA, WEP, or nopass. Special characters in ssid / password must be backslash-escaped (e.g. a literal semicolon becomes \;).

Related calculators

More tools you might like