Phone Number Formatter (E.164)

Normalize a phone number to E.164, identify its country from the calling code, and see a readable national grouping. Runs entirely in your browser.

Include the country code with a leading + (or 00). Spaces, dashes, and parentheses are ignored.

✓ Parsed
E.164
+14155552671
Calling code
+1
Country / region
US / Canada (NANP)
National (approx.)
(415) 555-2671

E.164 normalization and country identification are exact. The national rendering is a readable grouping (proper for +1 NANP numbers); precise per-country national formatting and line-type validity require a full numbering-plan library.

About this tool

E.164 is the international standard format for phone numbers: a leading plus sign followed by a country calling code and the national number, with no spaces or punctuation and a maximum of 15 digits — for example +14155552671. It is what APIs like Twilio, Stripe, and WhatsApp expect, because it identifies a number unambiguously worldwide. This tool strips the spaces, dashes, and parentheses people actually type, normalizes a leading 00 international prefix to +, and produces the clean E.164 string. It then identifies the country or region from the calling code using a longest-prefix match against the ITU assignments, and shows a readable national grouping. Two parts are exact and reproducible — the E.164 normalization and the calling-code-to-country identification — while precise national formatting is country-specific: it is shown properly for North American (+1) numbers and as a sensible generic grouping elsewhere, since exact national layout and line-type validation require a full numbering-plan database. Everything runs locally.

How to use it

  • Enter a phone number with its country code, prefixed by + or 00.
  • Read the normalized E.164 string and copy it for API use.
  • Check the detected calling code and country.
  • Use the national grouping for human-readable display.

Frequently asked questions

What is E.164 and why do APIs want it?
E.164 is the ITU standard that writes a number as +[country code][national number], digits only, up to 15 digits total. Because it is globally unambiguous, messaging and telephony APIs (Twilio, WhatsApp, Stripe Verify) require it so a number means the same thing regardless of where it is processed.
Do I have to include the country code?
Yes — E.164 is meaningless without it. Start the number with + and the country code (or 00 and the code, which this tool converts to +). Without a code, the same digits could belong to dozens of countries, so the tool cannot reliably infer it.
How is the country identified?
By matching the leading digits against the ITU-T list of calling codes, trying the longest possible prefix first (so 1 is North America, 44 is the UK, 971 is the UAE). The match is exact for assigned codes; note that +1 covers the US, Canada, and several Caribbean nations under one shared code.
Why is the national format only "approximate"?
Every country has its own rules for grouping and for which prefixes are valid — and those change over time. Getting them exactly right requires a maintained numbering-plan library (like libphonenumber). This tool formats +1 numbers properly and uses a clean generic grouping elsewhere, while always giving you the exact E.164 form.
Does a parsed number mean it is a real, active line?
No. The tool validates structure (digit count and a recognized country code) and normalizes format. It does not check whether the number is assigned, in service, or a mobile vs. landline — that needs a carrier lookup.
Is the number I enter sent anywhere?
No. All normalization and lookup run in your browser against a built-in table, with no network request, so the numbers you test are never transmitted.

Related tools