Too Much Tools logoToo Much Tools

Phone Parser & Formatter

Parse a phone number into country, type and E.164, and format it, locally.

Local, Runs entirely in your browser, your data never leaves your device.
Loading tool…

Break a phone number into its E.164 and national parts

This tool parses a phone number with libphonenumber-js, the same validation library used in many production phone inputs, and returns its E.164 form, international and national formatting, detected country, calling code, national number and line type such as mobile or fixed line. Reach for it when you're debugging why a number fails validation in a signup form, or need to normalize a support ticket's phone field to E.164 for a database. A phone number identifies a specific subscriber, so parsing it locally keeps that number off any server.

How to use the Phone Parser & Formatter

  1. Type a phone number into the input, with or without a leading + and country code.
  2. Optionally pick a default country from the dropdown for numbers without a + prefix.
  3. Read the Valid or Possible banner to see whether the number parses cleanly.
  4. Review the field list for E.164, International, National, Country, Type and more.
  5. Hover a field and click its copy icon to copy that single value.

Validity and type detection come from libphonenumber-js's number-length and pattern rules per country, the same metadata Google's libphonenumber ships, so results reflect whether a number is well-formed for its country, not whether it's currently in service.

Without a default country and no leading +, the parser cannot tell which country a national-format number like `020 7946 0958` belongs to; set the default country dropdown so it's interpreted correctly.

Frequently asked questions

Does this tool verify the phone number is a real, active line?
No. It checks the number's format and length against libphonenumber-js's per-country rules, which tells you whether a number is well-formed, not whether it is currently assigned to a subscriber or reachable.
Is the phone number I enter sent to a server?
No, parsing and validation run entirely with the libphonenumber-js library loaded into your browser tab, so a number that identifies a real person never leaves your device.
What does the E.164 field mean?
E.164 is the international standard format for phone numbers, a plus sign followed by the country calling code and subscriber number with no spaces or punctuation, commonly required by SMS and telephony APIs.
Why do I need to set a default country?
A number typed in national format, without a leading +, is ambiguous on its own; the default country dropdown tells the parser which country's dialing rules to apply when there's no international prefix.