How to create hyperlink to call phone number on mobile devices?
What is the proper, universal format for creating a clickable hyperlink for users on mobile devices to call a phone number?
Area code with dashes
<a href="tel:555-555-1212">555-555-1212</a>
Area code with no dashes
<a href="tel:5555551212">555-555-1212</a>
Area code with dashes and 1
<a href="tel:1-555-555-1212">555-555-1212</a>
Area code with no dashes and 1
<a href="tel:15555551212">555-555-1212</a>
Area code with dashes, 1 and + sign
<a href="tel:+1-555-555-1212">555-555-1212</a>
Area code with no dashes, 1 and + sign
<a href="tel:+15555551212">555-555-1212</a>
Solution 1:
Dashes (-
) have no significance other than making the number more readable, so you might as well include them.
Since we never know where our website visitors are coming from, we need to make phone numbers callable from anywhere in the world. For this reason the +
sign is always necessary. The +
sign is automatically converted by your mobile carrier to your international dialing prefix, also known as "exit code". This code varies by region, country, and sometimes a single country can use multiple codes, depending on the carrier. Fortunately, when it is a local call, dialing it with the international format will still work.
Using your example number, when calling from China, people would need to dial:
00-1-555-555-1212
And from Russia, they would dial
810-1-555-555-1212
The +
sign solves this issue by allowing you to omit the international dialing prefix.
After the international dialing prefix comes the country code(pdf), followed by the geographic code (area code), finally the local phone number.
Therefore either of the last two of your examples would work, but my recommendation is to use this format for readability:
<a href="tel:+1-555-555-1212">+1-555-555-1212</a>
Note: For numbers that contain a trunk prefix different from the country code (e.g. if you write it locally with brackets around a 0
), you need to omit it because the number must be in international format.
Solution 2:
-
doesnt make matter but +
sign is important when mobile user is in roaming
this is the standard format
<a href="tel:+4917640206387">+49 (0)176 - 402 063 87</a>
You can read more about it in the spec, see Make Telephone Numbers "Click-to-Call".
Solution 3:
I also found this format online, and used it. Seems to work with or without dashes. I have verified it works on my Mac (tries to call the number in FaceTime), and on my iPhone:
<!-- Cross-platform compatible (Android + iPhone) -->
<a href="tel://1-555-555-5555">+1 (555) 555-5555</a>
Solution 4:
I used:
Tel: <a href="tel:+123 123456789">+123 123456789</a>
and the result is:
Tel: +123 123456789
Where "Tel:" stands for pure text and only the number is coded and clickable.