All posts

International Phone Number Format: How to Write Numbers for a Global List

··4 min read

Write an international phone number as +, the country code, then the national number without its leading 0. A London number dialled at home as 020 7946 0958 becomes +44 20 7946 0958. Remove the spaces and you have E.164, +442079460958, which is the format to store in spreadsheets, CRMs and SMS tools. For human readers keep the spaces; for systems drop them.

The three parts

Part Example (UK mobile) Notes
+ + Stands for your international dialling prefix, whatever it is.
Country code 44 1 to 3 digits, assigned by the ITU.
National number, without trunk prefix 7400 123456 Drop the leading 0 in most countries.

Together: +44 7400 123456, or +447400123456 in E.164. The E.164 guide covers the standard itself.

Examples for 12 countries

Country Written at home International E.164
United States (415) 555-2671 +1 415 555 2671 +14155552671
Canada (604) 555-0199 +1 604 555 0199 +16045550199
United Kingdom 020 7946 0958 +44 20 7946 0958 +442079460958
Germany 030 123456 +49 30 123456 +4930123456
France 06 12 34 56 78 +33 6 12 34 56 78 +33612345678
Italy 06 1234 5678 +39 06 1234 5678 +390612345678
Spain 612 34 56 78 +34 612 34 56 78 +34612345678
India 098765 43210 +91 98765 43210 +919876543210
Australia 0412 345 678 +61 412 345 678 +61412345678
Brazil (11) 91234-5678 +55 11 91234 5678 +5511912345678
Mexico 55 1234 5678 +52 55 1234 5678 +525512345678
Nigeria 0803 123 4567 +234 803 123 4567 +2348031234567

Examples are formatted the way each country writes them; several are fictional or reserved ranges, so don't dial them. Country-by-country detail is in the phone format guides, for example the United States, United Kingdom and India.

The trunk prefix rule, and its exceptions

The leading 0 (or 1 in North America) is a trunk prefix: you dial it only inside the country. When you add the country code you drop it. That's the most common mistake in international lists: +44 07400 123456 has one digit too many and fails validation.

Exceptions to know:

  • Italy: landlines keep their leading 0 after +39. Mobiles start with 3 and have no 0.
  • US and Canada: the country code is 1, and the 1 people sometimes dial before a domestic long-distance number is the same digit. Don't write +1 1 415….
  • Countries without a trunk prefix, such as Spain and Denmark: nothing to drop.

A library like Google's libphonenumber knows every country's rule, which is why it's safer than doing this with find-and-replace.

Why + beats 00 and 011

00 is the international prefix in most of Europe, Africa and Asia. The US and Canada use 011, Australia 0011, and some countries use others. A number stored as 0044 20 7946 0958 only works when dialled from a 00 country. + works from anywhere: phones substitute the right prefix, and SMS and calling platforms expect it.

Converting a mixed list

Global lists usually mix every style: some numbers with +, some with 00, most in national format with no country at all. To convert:

  1. Work out each row's country. Use a country column if you have one. Otherwise set a default country for the file, the market you mostly sell in, and accept that numbers from other countries without a + can't be read correctly.
  2. Strip extensions and notes into their own column.
  3. Parse each number with its country and output E.164.
  4. Flag numbers that don't parse instead of guessing. A short or long number is usually a typo.
  5. Store E.164 and format for display separately.

For spreadsheets, formatting phone numbers in Excel and validating phone numbers in Google Sheets show formula approaches. For code, see JavaScript and Python.

Doing it for a whole file

Upload the CSV on SimpleVerifier's verifier. Numbers that start with + are read in their own country; numbers without one are read as US numbers, so for other countries add the + and country code first (step 1 above). Every row gets:

  • phone_e164: the number in E.164
  • phone_country: the country it belongs to
  • phone_status: valid, invalid or empty
  • phone_type: mobile, landline, toll-free, VoIP or "mobile_or_landline", from the numbering plan

Those checks are included on our plans, and your other columns come back unchanged. Live carrier lookups, a paid extra, return the real line type (mobile, landline or VoIP) and current carrier; see pricing. Email addresses in the same file get a live mailbox check.

To try one number, use the free phone number validator.

Related: US phone number format · UK phone number format · clean phone numbers in a CSV · why SMS delivery fails

Common questions

What is the international format for a phone number?

A plus sign, the country code, then the national number without its leading trunk digit, such as +44 20 7946 0958 for a London number written nationally as 020 7946 0958. Without spaces, this is the E.164 format: +442079460958.

Do I drop the 0 when adding a country code?

In most countries, yes. The leading 0 is a trunk prefix used only for domestic calls, so 07400 123456 in the UK becomes +44 7400 123456. Italy is the main exception: landline numbers keep their 0, as in +39 06 1234 5678.

Should I use + or 00 for international numbers?

Use +. 00 is the international dialling prefix in many countries, but the US and Canada use 011 and some countries use others. The plus sign means 'insert your international prefix here' and works everywhere, including in mobile phones and SMS tools.

How do I convert a list of local numbers to international format?

You need to know each number's country. Use a country column if the list has one, or set a default country for the whole file. Then parse each number with a library such as libphonenumber, or a validator that does it for you, and output the E.164 form.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.