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.
- 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.