The tap-to-call link: one line of code, explained
The tap-to-call link is an ordinary HTML anchor whose address starts with tel: instead of https:, followed by the number in its international form, and here is the whole of it:
<a href="tel:+19498397711">(949) 839-7711</a>
The part inside the tag is what the visitor sees. The part in href is what the phone dials. A number that is on the page as plain text, or inside a photo, or inside a button that links to the contact page, is not a tap-to-call link, however much it resembles one.
The scheme: tel
The tel: prefix is a URI scheme, the same kind of thing as https: or mailto:, and it is defined by an internet standard, RFC 3966. The standard's abstract: "The 'tel' URI describes resources identified by telephone numbers" (Source: RFC 3966). When a phone's browser sees a link with this scheme, it hands the number to the dialer instead of trying to open a page.
MDN, Mozilla's reference, gives the same example shape and describes what happens on different devices: "Cellular devices autodial the number," while desktop systems offer whatever calling program is installed, and some devices offer to save the number or send it to another device (Source: MDN). The behavior is the device's. The link's job is only to say, unambiguously, "this is a phone number."
The number: a plus sign and a country code
RFC 3966 distinguishes global numbers from local ones, and the rule is one character: "Globally unique numbers are identified by the leading '+' character" (Source: RFC 3966). A US number written as +19498397711 is the country code 1 followed by the ten digits, and it dials correctly from a phone in Albany, a phone in Toronto, and a phone roaming in Lisbon. The same number written as 9498397711 is a local number whose meaning depends on where the phone is.
What about the parentheses and the hyphen? The standard allows them inside the link: "Phone numbers MAY contain visual separators. Visual separators ('visual-separator') merely aid readability and are not used for URI comparison or placing a call" (Source: RFC 3966). MDN's own example writes the area code in parentheses inside the link (Source: MDN). So tel:+1-949-839-7711 is valid. We strip the separators in the href anyway and keep them in the visible text, because the visible text is for people and the href is for machines, and a link with no separators has no way to be mis-typed.
Why plain text is not enough
Apple's Safari documentation says that on iOS, "Safari on iOS detects any string formatted like a phone number and makes it a link that calls the number" by default, and that a site can switch this off with a format-detection meta tag set to telephone=no (Source: Apple). Two things follow.
First, that detection is a courtesy of one browser on one platform, and the page can turn it off. Builders sometimes do turn it off, to stop Safari from underlining a street address or an invoice number that happens to look like a phone number, and the real number goes dark along with it. We do not have an equivalent document from every other browser, so we do not rely on auto-detection anywhere.
Second, detection only works on text. A number drawn into a header graphic, or set as a background image, is pixels. No browser dials pixels.
The link removes the guesswork. It does not depend on detection being on, and it works when the number is styled as a button.
How to check your own site from a phone
- Open your site on your phone. Find the number in the header. Press it. If the dialer opens with the full number filled in, it is a link. If nothing happens, or the page scrolls, or a contact page opens, it is not.
- Do the same on the home page footer and on the contact page. Sites often have the link in one place and plain text in another.
- Press and hold the number. On most phones a link shows a menu with the full
tel:address. Check that it starts with+1and that all ten digits follow. A link totel:9498397711dials correctly at home and may fail abroad; a link cut short in the editor dials nothing.
What we found locally
In September 2026 we checked 115 Capital Region home-service sites. On 45 of them, the phone number was not a tap-to-call link. The lab test behind our other figures runs on a simulated throttled phone, not real visitor data, and the sample is Capital Region home-service businesses from chamber directories and license rolls, not a random sample. Measured September 2026.
We do not have a number for how many calls those 45 sites lose. Nobody measured it, and the honest answer is that we do not know.
What to do about it
On a hand-built site, it is the one line above, in every place the number appears. On a platform editor, you select the number, choose "link," pick phone or paste tel:+1 and the ten digits. Then you press it on a real phone, because an editor that says it saved is not the same as a dialer that opens.
"A tappable phone number and a working mobile layout" is one of the five items in our Website Fix, $700, done in three business days, with a before-and-after report that shows the link on every page it appears. Details at /services#fix.
Sources
- RFC 3966, The tel URI for Telephone Numbers: the scheme, the leading plus for global numbers, visual separators
- MDN, the anchor element: example tel: links and what devices do with them
- Apple, Safari HTML Reference, supported meta tags: Safari on iOS auto-detects phone numbers by default; format-detection can switch it off