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

Loading calculator…

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

What is the WiFi payload format?+
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 \;).
What is vCard?+
vCard is the standardised electronic-business-card format (RFC 6350). It starts with BEGIN:VCARD and ends with END:VCARD, with field lines like FN:, TEL:, EMAIL:, ORG: in between. Modern phones recognise vCard QR codes and offer "save to contacts" on scan.
Why is my URL working when I scan it with an iPhone but not with a generic scanner?+
Almost certainly missing the scheme. iPhone’s built-in camera is forgiving and adds https:// automatically; many third-party scanners treat schemeless input as plain text. Always include the explicit http:// or https://.
What error-correction level should I pick?+
Higher correction = more robust against damage / occlusion (a logo overlay needs Q or H) but smaller payload capacity. Default is M (15% recovery) for general-purpose codes. The breakdown row gives a recommendation based on payload length.
Why is there a maximum payload?+
QR code version 40 at error-correction L holds up to 2,953 bytes of binary data (4,296 alphanumeric chars / 7,089 digits). Anything longer needs to be linked from a shortener URL or split across multiple codes.
Are these payloads readable by my phone?+
Yes — they are the canonical formats every modern phone scanner recognises. Just generate the QR from the payload using any renderer.

Related calculators

More tools you might like

Hand-picked tools that pair well with this one — same audience, same intent.