Parse, validate, and format phone numbers
Choose a default country code, paste a phone number, and instantly get formats like E.164 and RFC3966 — all in your browser

The Phone Parser and Formatter helps you take a raw phone number and turn it into standard representations such as international format, national format, E.164, and RFC3966. It also tells you whether the number is valid/possible and what kind of number it appears to be (mobile, fixed line, toll-free, etc.).
Everything runs locally in your browser. No phone numbers are sent to a server.
If you work with contact lists, signup forms, SMS delivery, or CRM imports, formatting numbers consistently is a huge quality-of-life improvement. For example, storing numbers in E.164 makes deduplication and integrations much easier.
Related utilities you might also like: URL parser for troubleshooting callback URLs, and JWT parser when you’re debugging authentication flows.
Suppose the default country is China and the national number is 13800138000. E.164 is the “+country code + national number” representation.
If you type a US number like (415) 555-2671, the tool can emit a storage-friendly E.164 string.
If a number is marked Is possible? but not Is valid?, it often means the length looks plausible for that region, but the prefix/structure doesn’t match a real assigned range.
Background: You have mixed phone formats (spaces, dashes, local formats) in a spreadsheet.
Inputs: Default country US, phone (415) 555-2671.
Result: Store the standardized value as .
Background: You want to catch obviously invalid numbers before sending verification SMS.
Inputs: Default country GB, phone 07911 123456.
Result: Check Is valid? and use E.164 for storage.
Background: Customers paste numbers with or without a leading .
Inputs: Default country CN, phone 138 0013 8000.
Result: International format becomes .
Pick the right default country, then format it to E.164 for storage.
Use international format for display; store E.164 to keep it consistent.
Check whether the number is “possible” vs “valid” and validate country code assumptions.
Use formatting outputs to remove spaces/dashes and standardize what you store.
Normalize to E.164 and compare strings exactly (after trimming).
RFC3966 format is designed for URIs like tel:+14155552671.
Not a perfect fit: if you need carrier lookup or real-time routing info, you’ll need a specialized telecom service. This tool focuses on structural parsing/formatting.
This tool is based on international numbering metadata. The key idea is: once the tool knows the country calling code and the national number, it can emit standard formats.
In simple terms, you can think of:=the country calling code,=the national number.
If the input doesn’t start with , the parser needs a region context to interpret the number. The same digits can mean different things in different countries.
No. “Valid” here means the structure matches known numbering rules. Delivery, roaming, and carrier issues are outside the scope of formatting/validation.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.