Tel URI Encoder

Format phone numbers as RFC 3966 tel: URI strings

Free tel: URI encoder — turn a phone number into a valid RFC 3966 tel: URI with global or local context and extension, instantly in your browser. No upload. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a tel: URI?

A tel: URI is the standard way, defined in RFC 3966, to represent a telephone number as a clickable link. Putting it in an anchor's href lets a browser or phone launch the dialler with the number pre-filled.

The tel: URI encoder turns an ordinary phone number into a valid RFC 3966 tel: URI — the format you put in an href to make a clickable call link or encode in a QR code. It handles international (global) and local numbers, optional extensions, and percent-encodes anything that needs it.

How it works

RFC 3966 distinguishes two number forms. A global number is fully international and begins with + followed by digits, e.g. tel:+14155550101. A local number has no country code and therefore must include a phone-context parameter — either a global number prefix (+1) or a domain (example.com) — so the dialler knows how to interpret it: tel:7042;phone-context=example.com.

The encoder strips visual separators (spaces, -, ., (, )) from the digits since RFC 3966 treats them as cosmetic. It then assembles the scheme, the number, and any parameters as ;name=value pairs. An extension is added as ;ext=NN. Parameter values containing reserved characters are percent-encoded.

Examples

Input:  (415) 555-0101  (global)
Output: tel:+14155550101

Input:  7042  (local), context example.com, ext 5
Output: tel:7042;ext=5;phone-context=example.com

Where tel: URIs are used

Clickable call links on websites. The most common use case is an anchor tag like <a href="tel:+14155550101">Call us</a>. On a mobile browser this opens the dialler with the number pre-filled; on a desktop browser it may open a softphone or VOIP app if one is configured.

QR codes for business cards and signage. A tel: URI encoded as a QR code lets someone tap their phone camera on a business card or poster and dial instantly. The global format (+countrycode...) is essential here because the person scanning could be anywhere.

Email signatures and documents. Some email clients render tel: links as tappable on mobile. PDFs with clickable elements also support tel: URIs, which is useful in digital brochures and contact sheets.

Click-to-call in web apps and CRMs. CRM systems and support tools often store phone numbers as plain strings. Converting them to tel: URIs on the fly allows a “click to call” workflow without a third-party telephony widget.

Global vs. local numbers in practice

Use a global format (tel:+14155550101) whenever the number might be dialled from outside the originating country. The + replaces the international dialling prefix, which varies by country, and the country code ensures the call routes correctly regardless of where the caller is. This is the right choice for any public-facing use.

Use a local format with a phone-context domain when the number only makes sense within a private telephone exchange, such as a corporate PBX extension. Local URIs without a context parameter are technically non-conformant and may not resolve in many diallers.

Notes

Use a global + number whenever you can — it works regardless of where the caller is. Reserve local numbers with phone-context for intranet or extension-style dialling. The resulting URI drops straight into <a href="tel:...">. Everything runs locally; your number is never uploaded.