Home > Web > Special links: phone calls, sms, e-mails, iPhone and Android apps, …

Special links: phone calls, sms, e-mails, iPhone and Android apps, …

Everyone knows to include a link into a page, but what I want to discuss today is how you can include some special links.

Phone calls

This is something cool and with the explosion of smart phones with which you can easily browse this is definitely to consider having on the mobile version of your website. Such a link will initiate a call on your mobile to a specified number. But here the things are a little bit more complicated, requiring different links for different phones. You can easily find how to create such a link consulting the WURFL database and looking at the wml_make_phone_call_string property in the wml_ui category.

Basically this is done as follows:

mainly appropriate for iPhone and Nokia phones
mainly appropriate for Android phones
reported to work on most of the newest devices. If you want to have only one type of URI, use this one.

In the phone number you can use +(plus) sign for international numbers. What’s also interesting to know is that this can even work on a desktop if you have an application like Skype installed. So maybe it’s a good idea to have this on the classic/desktop website too.

Later update from comments. Another interesting phone link will be how to call a teleconferencing phone number. There you call a phone number and then you enter your conference code, usually followed by hash(#). To do this from a link you will need a pause after the phone number and this is done with , (comma), usually entered by a long press on star(*). I tested this on Android and iOS and it works fine, but you usually need two pauses (,) between the phone number and conference code. Same way you can dial an extension line.


call 12345678 on iPhone and Nokia
call 12345678 on Android
call an international number on Android
call 12345678 on most of the newer devices
join 100200 conference code on the conference line 12345678 on most of the newer devices
join 100200 conference code on the international conference line +12345678 on most of the newer devices


From a web page you can open the SMS sending application on the user phone with a link like below:


The link contains a comma separated list of phone numbers and an optional message body. The phone numbers are specified as in the call links. Detailed information you can find in the URI Scheme for GSM Short Message Service (draft)


SMS to 12345678
sms:12345678?body=Hello my friend
SMS “Hello my friend” to 12345678
SMS to multiple phone numbers, including an international one

There is also an URI version for MMS starting with mms:. On some (mobile) browsers (devices) it is also reported to work smsto: and mmsto:, although I would recommend the first version.


When developing a website iPhone is definitely to be considered. You can include links to items in the iTunes store, such as movies, music or application. Apple provided for your convenience a web interface to create such links: ITMS Link Maker. Just specify the country, the search keyowrds and what type of iTunes items. You will get a list of items and when you click one you will get the link. You can even get the link for an author. These links will both work on the desktop and iPhone.

Example: Fluid application (free)

Android market

Android is gaining market share as we speak. Nexus One was just released and in my opinion will beat iPhone. As you include links to iTunes, you can include links to applications in Android Market.




The query can include keywords or can identify a specific application using q=pname:your.package.name and then the link will be market://search?q=pname:<your.package.name>.

Ovi Store

Nokia created a new fresh application repository for their latest phone – Ovi Store. If you want to include a link to an application, search for it and then copy the link that it will look like http://store.ovi.com/content/XXXXX?clickSource=publisher+channel. Just remove the last part and include http://store.ovi.com/content/21309 into your page, where XXXXX is the application Id. You can also include a link to a publisher’s page containing a summary of their application. The link is found on any of the publisher’s application (see by Publisher Name) and it will look like http://store.ovi.com/publisher/Publisher+Name

Windows Marketplace

We cannot exclude Microsoft from the list with their Windows Phone Marketplace. Same steps to find out the application link: search it, copy the link location and strip the last part. The link will look like http://marketplace.windowsphone.com/details.aspx?appId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, where xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx is the application ID, clearly resembling a GUID. Here publishers don’t have a personal page.

BlackBerry App World

For all those BlackBerry fans, there is BlackBerry App World. Again same process: search for the application and copy the link location of the application icon. The format is http://appworld.blackberry.com/webstore/content/XXXXX, where XXXXX is the application ID. The app authors have a page here with a summary of their apps. See the by Author link under each application. The link will be like http://appworld.blackberry.com/webstore/vendor/XXXX, where XXXX is the author ID.


Nowadays you cannot even imagine a world without maps and GPS. More and more contact pages include a map too. Nowadays smart phones usually include a map application and opening a map with your location in it would be quite nice for the user


As simple as this and you know where to go.


From a web site you can also interact with the messenger applications installed on your machine.

Yahoo Messenger


The possible actions are addfriend, sendIM and call. The message can, of course, be specified only for sendIM action. The USERNAME should be your.account@yahoo.com or your.account@hotmail.com.

Example: ymsgr:sendIM?beradrian&m=Hello – Say Hello in Yahoo Messenger.

Windows Messenger


The possible actions are chat, add (to add a contact), voice (for voice call) and video (for video call). The USERNAME should be your.account@yahoo.com or your.account@hotmail.com.

Example: msnim:chat?contact=beradrian@yahoo.com – Chat with me in Windows Messenger.

Google Talk


The possible actions are chat and call (for voice call). The USERNAME and YOURNAME should be your.account@gmail.com. The parameter from_jid is optional and it should be specified only if you use multiple accounts.

Example: gtalk:chat?jid=beradrian@yahoo.com – Chat with me in Google Talk.



The possible actions are chat, add (to add a contact), userinfo (to view a profile) and voicemail (to leave a voicemail). The USERNAME is your Skype ID.

Example: skype:chat?jid=beradrian – Chat with me in Skype.


Updated on 03/15/2015


The main thing here is the sip protocol. It is possible that this protocol can be used by other applications too, not being something specific to Lync.

Example: Call John.


Updated on 06/09/2016


Example: Say ‘Hi John’ to number 0123456789 or pick a contact and Say ‘Hello World!’.

There are also other messengers but these are the most widely used. If you need another one, just post a comment.


It’s pretty easy to include a link for sending an email into your webpage. Basically it’s replacing the http scheme with mailto. So the link will look something like:


Such a link will practically open the system application for sending emails (like Outlook or Thunderbird) and the message will be prepopulated with some values. As you can notice you can use multiple email addresses (To) separated by comma.

The possible arguments to be included are:

the message Subject field
the message CC field as a comma separated list of addresses
the message BCC field as a comma separated list of addresses
the message body. If you include a new line in your message you should include %0A.


the simplest mailto link
multiple email addresses
“mailto:nobody@wordpress.com?subject=Testing mailto
specify a subject
“mailto:nobody@wordpress.com?subject=Testing mailto&cc=no.one@wrodpress.com
specify a subject and CC

Just as a side note in the end, it’s better not to rely on this kind of mechanism for handling email on your website. A contact form that sends an email could be a better idea.

Most of these URIs work not only on browsers, but on QR codes readers as well.

Happy linking!!!

Last update: June 9th, 2016.

Categories: Web Tags:
  1. January 25, 2010 at 6:38 am

    Nice inspiring blog, dude. I enjoy your posting. I am about to create blog about mobile phones, too.


  2. April 23, 2010 at 11:56 am

    I’ve been using tel:+16663339XXX for phone calls. It seems to work on both Android and iPhone. Is there a reason why I should not use this?

    • April 23, 2010 at 4:32 pm

      Actually there is no reason for not using this. But are you sure that this works on all the phones? If yes, then this is actually good. Otherwise you will support only a set of devices.

  3. charlie
    December 27, 2010 at 3:09 am

    Intriguing post.
    Where would i submit the code
    and have it be able to execute (i.e. call the phone number).

    I was trying to have a calendared alert cause a phone call (rather than an email or sms)


    • December 27, 2010 at 3:20 am

      All these must be put in the href attribute of an A tag.

  4. falcon
    January 5, 2011 at 12:30 pm

    SMS command i think is not supported by all of the browser right?

  5. September 8, 2011 at 6:12 pm

    Interesting post. It took me hours to get my head around WURFL, this post has helped me a lot.

    Thanks for the info Adrian!

  6. blackberry
    September 29, 2011 at 5:37 pm

    Hi. i have a question in regards to the sms code for blackberries. any blackberry browser before Blackberry Browser 6 does not recognize the sms protocol. Anyone have any insight into what can work for the blackberry browsers before version 6? Thank you.

  7. November 15, 2011 at 4:43 am

    I’ve got an Android v2.2.3 phone and the sms URI parser has a major bug related to both HTML URIs and NFC URI parsing. I still can’t believe Google hasn’t fixed the dang thing. Basically, if I include message content by suffixing ?body=blah to the URI, my phone puts the entire URI into the recipient section (i.e. sms:+123456?body=hi will result in a recipient list populated with 123456?body=hi and an error will occur). So frustrating to know Google has known about this bug for YEARS (not months, years) and it is still not fixed.

    w.t.f. google… w.t.f.

    • Michael
      August 26, 2012 at 10:54 pm

      still not fixed, i guess..

  8. Anonymous
    September 27, 2012 at 7:14 pm

    Really nice Article…..

  9. Vikram
    September 27, 2012 at 7:15 pm

    Good one….

  10. September 27, 2012 at 8:18 pm

    Helpful Thanks.

  11. November 1, 2012 at 11:31 am

    The list of Hyperlink types you’ve mentioned are ideal for use with QR codes. I tested some of them already and the results are very satisfactory.
    Now I can post direct “call for action” in print ads like “Check in with Foursquare”, “subscribe now via SMS”, “Download now” …etc.

    Nice work, thanks

  12. Manjit
    December 3, 2012 at 9:19 am

    Helped me a lot… Thanks Guys..

  13. Manjit
    December 3, 2012 at 9:29 am

    do any one have idea to how to fire an calender event by passing the parameters to link an and it should open is respective calender for mobile.

    If any one could reply, it would be always appreciated…

    Thanks in advance.

  14. Sathya
    January 25, 2013 at 3:55 am

    Sending SMS to multiple recipients is not working in iPhone. Is there any other separator which can be used in place of comma.

    • February 20, 2013 at 12:31 pm

      Have you tried with semicolon(;) or pipe(|)?

  15. February 3, 2013 at 9:12 am

    You have made some decent points there. I looked on the internet for additional information about the
    issue and found most people will go along with your views on this site.

  16. COBRA
    February 20, 2013 at 6:14 am

    what if i wanted to make it SMS and send directly ?
    what is the code for that ?
    i mean example
    and then send directly
    thank you

    • February 20, 2013 at 12:30 pm

      I doubt that you can send directly a SMS. The link is invoking the native app for this.

  17. Dan
    March 13, 2013 at 10:18 pm

    Thanks for the post!

    In html email, adding a teleconference passcode works as follows for both iPhone and Android:

    This also works in an iPhone calendar event. Unfortunately, the Android calendar viewer doesn’t recognize the tel: keyword in the body of the event and only “linkifies” the numbers separately. Anyone have a tip on how to make this work?

  18. September 17, 2013 at 12:57 am

    Is it possible to combine a sms and an email in one command together?
    Because when I use the mailto:….. in an Android system, the user gets the possibillity to send an email, but also to send an sms. But I don’t know how to add also the sms-phonenumber into the same mailto:.. command.

    • mike
      July 16, 2014 at 6:47 am

      this is a little late but have you tried to use the phone email address? sometimes it is something like 1234567890@mail.att.net or something like that.

  19. October 13, 2013 at 9:26 pm

    Thank You!!!
    Hope it works, haven’t tried it out, but just what I was looking for! 🙂

  20. Anonymous
    June 25, 2014 at 1:13 am

    Thank you

  21. Anonymous
    August 20, 2014 at 8:37 am

    i got an error when i click on sms i got an error like unsafe:sms:12344

  22. August 28, 2014 at 5:14 am

    For these reasons, it would appear that the i – Phone takes the lead when it
    comes to apps. The UI experience on the Z2 with its Xperia
    UI is extremely smooth and quick, just like M8’s Sense UI,
    which is not what we can say about the S5.
    The screen is coated with Gorilla glass screen with Touch – Wiz User Interface 4.

  23. joe
    September 23, 2014 at 9:31 pm

    I cant make the tel: URI pause and dial an extension via click to save my life. Our Galaxy S4 and S5 dont interpret the , as a pause the same way as on the dial screen. “tel:111-555-1212,,1000#” doesnt work, nor does any of 30 other variations we’ve tried. Has anyone out there been able to successfully do this on Android? Just need to click the link, it dials the main number, waits 4 seconds, dials the extension.

  24. Erin
    March 11, 2015 at 7:17 pm

    This is super helpful but I’m looking to add a shortcut for Lync Messenger – my office recently switched over to this from Skype. Thank you!

    • March 15, 2015 at 11:00 pm

      Try this – sip:your.friend@your.work.com. The sip protocol is the key. I also updated the article to reflect this.

  25. July 1, 2015 at 5:07 pm

    Great post! When a user clicks the tel: link on a desktop that doesn’t have Skype etc, they get an error page. I had to remove the link. How can I fix this? Thanks

    • June 9, 2016 at 8:53 am

      Not sure. You can try to do first a call through Ajax and in case of error to remove all these links. Please let me know the outcome.

  26. alireza
    October 12, 2015 at 11:17 am

    Hi. Perfect, but geopoint: not working.

  27. January 21, 2016 at 7:30 am

    Awesome blog. You can also send SMS online using a service like http://www.smsit.com.au

  28. calvin
    June 4, 2016 at 9:27 am

    hi, great post. How about Whatsapp? can share to make it “click to send whatsapp particular message” ?

    • June 9, 2016 at 8:54 am

      I updated my post with whatsapp link.

  29. Anonymous
    June 20, 2016 at 12:45 pm

    I would do click to sms with Nokia. But my nokia asks me to download a new application to send SMS. there is no way to pass by the default application?

    • June 20, 2016 at 1:08 pm

      What model of Nokia?

  30. July 22, 2016 at 12:36 am

    Unfortunately, WhatsApp send with a phone number actually doesn’t work, not to me, at least. Is there another way?

    • September 26, 2016 at 1:50 am

      same to, I want full link to open from button on my webpage to whatsapp number

  31. July 26, 2016 at 7:56 pm

    As I’ve contacted WhatsApp, sending a message to a specific phone number is not possible yet, besides someone actually did that for Android, here (http://stackoverflow.com/questions/29218378/mobile-website-whatsapp-button-to-send-message-to-a-specific-number). Please update that part of the article that says that it is possible.

    Another important note, is that in Android devices “tel:” opens the dialing but does not dial right away, it waits the user interaction and suggest contact addition, but iPhone actually seems to suggest right away dialing or just cancel, which sucks… =/

    I’ve made a mini-project for a feature suggestion to WhatsApp here: http://giovannipds.github.io/whatsbar – the project is available at GitHub, if someone’s got interested: http://giovannipds.github.io/whatsbar.

    Thanks again for the posting.

  32. August 17, 2016 at 11:23 am

    whatsapp send text to a number does not work, it shows up contact to select rather than sending to number entered. rest work ok

  33. Sainath
    November 29, 2016 at 8:09 pm

    How to integrate WhatsApp call through my app just like tel: ?


  34. Rabbit
    April 21, 2017 at 8:29 pm


    I need to make the following clickable in an SMS on android:


    For iPhone, this will work: tel:*101*61518781668609#

    But on Android, it doesn’t work, any ideas? Or is it impossible?

    Any ideas, please?

    • tammy
      October 24, 2017 at 8:06 pm

      did you get a response? i need to do the same thing

  35. Mario González
    August 17, 2017 at 11:18 pm

    Can I add a new contact to the device with a special link?

  36. yashvi
    December 3, 2017 at 5:19 pm

    Very useful information. I like it.

  37. May 18, 2018 at 1:52 am


  38. evguenysid
    January 3, 2019 at 12:41 am

    Good tip! However, I like the aspect of an “instant call back” instead of a “clickable phone number” better. I have found Callback Tracker’s WordPress plugin and installed it on my site, I notice a lot more results with the ability to call my website visitors, instead of having them call me. I suppose it is necessary on most sites. Here is the link to the plugin https://callbacktracker.com/plugins/wordpress-click-to-call-plugin-install-tutorial/

  39. David Rector
    November 20, 2019 at 9:11 am

    I think the geopoint: info is incorrect or out of date. I found that “geo:” works on Android and “maps://q=” works on iOS. I really appreciate the info that was in this post and it saved me a ton of research time and energy. Thanks.

  1. March 4, 2011 at 10:59 am
  2. March 30, 2011 at 5:11 pm
  3. February 13, 2013 at 9:52 pm
  4. June 1, 2014 at 11:34 pm
  5. February 12, 2017 at 10:55 pm
  6. November 22, 2017 at 5:47 pm
  7. May 3, 2018 at 5:02 pm
  8. May 24, 2018 at 9:33 am
  9. August 23, 2019 at 7:42 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: