Take the 2-minute tour ×

I'm in the US, where a phone number looks like this:

without country code: 123-456-7890

with country code: +1 123-456-7890

Now, according to Wikipedia, a phone number in Italy has this format:

347 xxxxxxx (from within Italy)

So that could look like a US number: 347-123-4567

When I open all my contacts on WhatsApp, it automatically adds the country code, so if I have a US phone 123-456-7890, it adds a +1. But how does it know it's a US number? It could have been anything.

I guessed that it uses my current locale or timezone to determine where I am, and any phone numbers that don't have a country code, just add the current user's country code. But I changed my locale settings in my iPhone and it was still able to guess which country the number belongs to.

Any idea how that's possible?

Update: Also, I just tried adding a new phone number while my phone was in airplane mode while my region settings were set to Italian while my timezone was set to Rome, Italy, and it still knew I put a US number, so it can't possibly be connecting to a server to get this info.

share|improve this question

2 Answers 2

up vote 4 down vote accepted

WhatsApp knows what country code you are 'in' because you have verified your own phone number with WhatsApp. Phone numbers that don't have an explicit international format, meaning they don't start with '+' or '00', are checked against your own verified country code. This is how WhatsApp knows to use country code 1 in your case.

share|improve this answer

Phone numbers without an explicit country code are assumed to be local to your own country. Your own country is determined by the Region Format setting (Settings, General, International).

So when you enter a number like (347) 123-4567 this is assumed to be a US phone number because you have chosen United States under the Region Format. So WhatsApp can assume the +1 because there is no explicit country code in the number.

Lets say you have a friend in Italy. The country code for Italy is +39. So in Contacts you would enter their number as +39 347 1234567.

A user in Italy would enter that number simply as 347 1234567. WhatsApp would see the user's Region Format as being Italy and would know to show the +39.

share|improve this answer
What's weird is if I have a contact with the number: 347-123-4567, WhatsApp does not append a country code at all. It just leaves it the way it is. But if I have another contact with this number: 347-752-8832, then it does add the +1. I don't get it. What is the difference between the two numbers? Does it know the first one is a fake? –  moby Oct 24 '12 at 16:15
I suppose it is possible that WhatsApp has a database of valid US prefixes for each area code. You'll have to contact the developers of WhatsApp to know for sure. My answer was based on a general knowledge of phone numbers under iOS. I have no inside knowledge of how WhatsApp truly works. –  rmaddy Oct 24 '12 at 16:21

Your Answer


