E.164 phone number formatter

Paste a number in any shape, pick the country if it has no +code, and get it back in E.164, international, national and RFC 3966 (tel:) format. The tool strips trunk prefixes, detects the country from a leading +code and checks the length against the national numbering plan for the busiest countries.

Quick answer

What is E.164 format?

E.164 is the ITU standard for international phone numbers: a plus sign, the country code and the national number, with no spaces, dashes or trunk prefix, and at most 15 digits in total. A US number written as (415) 555-2671 becomes +14155552671. Most apps and SMS APIs expect this format.

Formatter

Nothing you type is sent to a server; the formatting runs in your browser.

Starts with + or 00? The country is detected automatically.

Results appear here as you type.

How to use the formatter

  • Type or paste the number. Spaces, dashes, dots and parentheses are ignored.
  • If the number starts with + or 00, the country is detected from the code and the selector is ignored.
  • If it has no country code, select the country; a leading trunk prefix (0 in most of Europe and Asia, 1 in North America, 8 in Russia) is removed automatically.
  • Read the status line: green means the length matches the country's numbering plan, amber means the number only passed the generic E.164 check, red means the length is wrong.
  • Copy the format you need. E.164 is what sign-up forms and APIs want; RFC 3966 is the tel: link you put in a web page.

The four formats explained

Same number, four notations
FormatExampleWhere it is used
E.164+14155552671Sign-up forms, SMS and voice APIs, databases, contact sync
International+1 415 555 2671Business cards, email signatures, anything a person reads
National(415) 555-2671Dialing from inside the same country, local listings
RFC 3966tel:+1-415-555-2671Clickable phone links in HTML (href) and vCards

Length rules for 57 countries

The table lists the number of digits a national number has after the country code (trunk prefix removed) in the countries that account for most verification traffic. Ranges reflect plans with variable-length numbers; Germany and Austria, for example, allow anything from six to thirteen digits. Countries not in the table are checked against the E.164 envelope only: at least six digits and at most 15 in total including the country code.

National number length and trunk prefix
CountryCodeDigits after codeTrunk prefix
Argentina+5410–110
Australia+6190
Austria+437–130
Bangladesh+880100
Belgium+328–90
Brazil+5510–110
Canada+1101
Chile+569none
China+8610–110
Colombia+5710none
Czechia+4209none
Denmark+458none
Egypt+209–100
Finland+3585–120
France+3390
Germany+496–130
Greece+3010none
Hong Kong+8528none
Hungary+368–906
India+91100
Indonesia+628–120
Iran+98100
Ireland+3537–90
Israel+97290
Italy+396–12none
Japan+819–100
Kazakhstan+7108
Kenya+25490
Malaysia+609–100
Mexico+5210none
Morocco+21290
Netherlands+3190
New Zealand+648–100
Nigeria+2347–100
Norway+478none
Pakistan+92100
Peru+519none
Philippines+63100
Poland+489none
Portugal+3519none
Romania+4090
Russia+7108
Saudi Arabia+96690
Singapore+658none
South Africa+2790
South Korea+829–100
Spain+349none
Sweden+467–100
Switzerland+4190
Taiwan+88690
Thailand+6690
Turkey+90100
Ukraine+38090
United Arab Emirates+97190
United Kingdom+449–100
United States+1101
Vietnam+849–100

Why format matters for SMS verification

Apps that send verification codes normalize what you type into E.164 before handing it to their SMS provider. When the normalization guesses wrong, the code goes to a number that does not exist and you see nothing. The classic mistakes: keeping the trunk 0 after the country code (+44 07911… instead of +44 7911…), typing a national number into a form that already shows the country code, or picking the wrong country in the dropdown. If a form rejects a temporary number from our catalog, paste the number here first and compare the E.164 output with what the form shows.

What this tool does not do

  • It does not check whether a number is assigned, active or reachable, and it does not tell mobile numbers from landlines.
  • Length rules exist for 57 countries; everywhere else only the E.164 limit is checked, so a wrong length can pass.
  • Shared country codes are resolved by a short list of prefixes (Canada's area codes, Kazakhstan's +7 6/7, Mayotte inside +262, NANP overlays). Guernsey, Jersey and the Isle of Man are shown as United Kingdom; Vatican City as Italy.
  • Germany and Austria have very flexible plans, so a national number typed with its country code but without + cannot always be told apart from a long national number. Add the + when you include the country code.
  • Grouping in the international and national formats follows common conventions, not every carrier's house style.

FAQ

E.164 formatter FAQ

What does E.164 stand for?

E.164 is the number of the ITU-T recommendation that defines the international public telecommunication numbering plan. It is not an acronym. The format it describes is +[country code][national number], up to 15 digits, which is why people say a number is 'in E.164'.

Does E.164 include the leading 0?

No. The trunk prefix (0 in most countries, 1 in the US and Canada, 8 in Russia) is only used when dialing domestically and is dropped in E.164. +44 07911 123456 is wrong; +447911123456 is right. Italy is the exception: its landline numbers keep the 0 because it is part of the number itself.

How does the tool know which country a +code belongs to?

It takes the digits after the + and finds the longest country code that matches, using the same table as our calling codes lookup. For shared codes it applies a few extra prefixes: Canadian area codes under +1, +7 6 and +7 7 for Kazakhstan, and overlay area codes for Puerto Rico, Jamaica and the Dominican Republic.

Why does the status say the number is valid but the app still rejects it?

Valid here means the length matches the country's numbering plan. The app may reject the number for other reasons: it is a landline where only mobiles are accepted, it is a VoIP range the app blocks, it was already used for the maximum number of accounts, or the app does not serve that country. Our requirements index lists those policies per app.

Is my number sent anywhere when I use the formatter?

No. The formatting runs in your browser with a small JavaScript table. Nothing is posted to our servers, logged or stored, and there is no account.

What is the difference between E.164 and RFC 3966?

E.164 defines the number itself. RFC 3966 defines the tel: URI scheme used in links, which carries an E.164 number with optional visual separators, for example tel:+1-415-555-2671. Browsers and phones ignore the hyphens when dialing.

Last updated:

Ready when you are

Get your verification code now

Create an account, top up and pick a number. Pay only if the code arrives.