Short answer
E.164 is the ITU-T international numbering plan. An E.164 number is written with a leading plus sign, the country code and the national number, with at most 15 digits and no spaces or punctuation, for example +971501234567. To convert a local number, drop the national trunk prefix (usually 0) where the country uses one, add the plus and the country code, and remove spaces and brackets.
Examples by country
The numbers below are illustrative placeholders. Trunk prefixes come from ITU's dialling-procedures table, a December 2011 position, so confirm a specific country with a library such as libphonenumber.
| Country | Local form (example) | E.164 |
|---|---|---|
| UAE | 050 123 4567 | +971501234567 |
| United Kingdom | 07700 900123 | +447700900123 |
| Italy (landline) | 06 1234 5678 | +390612345678 |
| United States | (202) 555-0123 | +12025550123 |
Why it matters for WhatsApp and SMS
Meta strongly recommends including the plus sign and country calling code in WhatsApp send requests. Without the plus sign, the sender's country calling code is added to the number, which can send the message to a wrong number. Store clean E.164 and send exactly that.
Common mistakes
- Always dropping the leading zero: ITU's table lists no trunk prefix for Italy, Spain and Qatar.
- Using a regex as validation: it checks shape only, while libphonenumber checks validity for a country.
- Letting Excel treat phone columns as numbers, which drops leading zeros and shows long numbers in scientific notation. Format the column as Text.
- Assuming a valid format means a reachable number.
Official sources
- Recommendation ITU-T E.164: The international public telecommunication numbering plan
- Dialling procedures (international prefix, national (trunk) prefix and national (significant) number), ITU Operational Bulletin No. 994, 15.XII.2011
- WhatsApp user phone number formats — WhatsApp Business Platform, Meta for Developers
- Keeping leading zeros and large numbers — Microsoft Support
- libphonenumber — Google, open-source library on GitHub
