QR & vCard

QR code standards for contacts: MECARD, vCard, and tel: URIs compared

Three ways to put a phone number in a QR code, what each does when scanned, and which one Ringlink uses on shared name cards.

By RingLink_HK··6 min read

There are three text formats you'll encounter when a QR code encodes contact info: MECARD, vCard, and a plain tel: URI. They look similar, they solve similar problems, and they behave slightly differently when scanned. Understanding which one you're generating (or someone else generated) saves a lot of "why did this scan open a browser instead of Contacts?" moments.

tel: URI — the simplest option

A phone number encoded as a URI:

tel:+85298765432

Scanning offers "Call this number." Nothing gets saved to contacts. Great for a poster or a menu QR whose only purpose is "call to order," terrible for a business card where you want the person to save you.

MECARD — Japan's original mobile contact format

MECARD was designed by NTT DoCoMo in 2003 for early Japanese camera phones that couldn't handle the full vCard spec. It's compact and single-line:

MECARD:N:Chen,Alice;TEL:+85298765432;EMAIL:alice@example.com;;

Pros: compact QR (roughly half the size of the equivalent vCard). Cons: no addresses, no organizations, no photos, no URLs. Modern iOS still handles MECARD scans by opening a contact preview, but the field mapping is minimal.

vCard — the industry standard

vCard is what most CRMs, email clients, and phone address books actually use for import/export (as .vcf files). Version 3.0 is the most widely supported today; version 4.0 is stricter and UTF-8 native but has patchier support.

BEGIN:VCARD
VERSION:3.0
FN:Alice Chen
N:Chen;Alice;;;
ORG:RingLink_HK
TITLE:Founder
TEL;TYPE=CELL:+85298765432
EMAIL:alice@example.com
URL:https://ringlink.app
ADR;TYPE=WORK:;;100 Main St;Central;;;Hong Kong
END:VCARD

Every field you'd expect on a business card fits. Multiple phones, multiple emails, addresses, birthdays, notes, photographs (as base64) — all supported. The tradeoff is size: a full vCard with a photo can push a QR up to Version 30 or 40 (out of 40 defined sizes), which starts to look like static.

Which one gets scanned as "Add to Contacts"?

  • vCard — always opens the contact add flow on iOS and Android. Any field the phone doesn't understand is preserved but hidden.
  • MECARD — opens the contact add flow on most phones, but has been dropped by some Android launchers. Fine for Japan and older phones; risky for global use.
  • tel: — opens the dialer with a "call" and "add to contacts" option. Requires an extra tap for saving.

Why Ringlink shared cards use a URL instead of embedding a vCard

On a Ringlink public name card, the QR encodes the URL of the card, not the vCard content. That means:

  • The QR stays small regardless of what's on the card.
  • Updates to the card (new photo, new title) apply immediately — everyone who scans the QR sees the current version.
  • Recipients see the card visually before saving. A vCard QR bypasses that step.

On the card page we generate a proper vCard on demand when the visitor taps "Save to contacts," so the end result is the same but with a much better preview experience.

Payment QRs are a whole other world

WeChat Pay, Alipay, Zalo Pay, KakaoPay, PayNow, PromptPay, UPI, and Interac all use their own QR formats. Some (EMV-QRCPS) are standardized; many are proprietary. Scanning a payment QR into a general-purpose reader like Ringlink or your Camera app will typically just show gibberish or an opaque URL, because the payment apps read a private handshake inside the payload.

Two-tier scanning behavior

On modern phones the Camera app scans QRs, but so does the Wallet app, the payment apps, and (on Android) any app that registered an ACTION_VIEW intent for the URL scheme. When you point your camera at a QR you're seeing a "best guess" from the OS. If the guess is wrong (e.g. WeChat opens when you wanted Contacts), open a different scanner — the underlying data hasn't changed.

Related guides

Try it now

Open Ringlink, paste any phone number, and tap the app you want — no contact save required.

Open Ringlink →

Questions? Email cs@ringlink.app or visit our contact page.