Make phone numbers tappable with the tel: scheme

On phones and other devices that can place calls, a phone number presented as plain text is a missed opportunity. Wrapping numbers in tel: hyperlinks gives users a direct path to contact you with a single tap. While many mobile browsers auto-detect phone numbers, doing it explicitly in your markup guarantees the behavior is always enabled and that the links match your site's styling.

The syntax is straightforward:

NIST Telephone Time-of-Day Service
<a href="tel:+1-303-499-7111">+1 (303) 499-7111</a>

For example, the NIST Telephone Time-of-Day Service displays as +1 (303) 499-7111.

On most calling-capable devices, the browser shows a confirmation prompt before dialing. This protects users from being redirected to premium-rate numbers without consent. If the device cannot place calls, the browser typically presents a menu of alternative handlers. Desktop browsers without voice support will open the system's default telephony app, such as Google Voice or Microsoft Communicator.

Always use international format

Always write the number in international dialing format: a plus sign (+), country code, area code, then the number. Using hyphens between each segment is recommended—it improves readability and helps auto-detection. This format ensures the call connects no matter where the user is located.

Turn off auto-detection when needed

Mobile Safari automatically converts phone numbers into styled links. Chrome for Android detects them for click-to-call but leaves them unstyled and unlinked. If you are handling phone numbers yourself and want to prevent Mobile Safari's auto-detection, add this meta tag to the page:

<meta name="format-detection" content="telephone=no" />

Beyond calls: sms: and mms: schemes

Some modern browsers also support the sms: and mms: URI schemes. Support is less consistent than tel:, and certain features—such as pre-populating the message body—do not work reliably across browsers.