Free tool
Phone number formatter and E.164 converter
Paste a phone number in any shape (with spaces, brackets, a leading 0, or a 00 prefix) and get it back in clean international format, with the country identified and the length checked.
- No sign-up
- Runs in your browser
- Nothing is sent to a server
Reviewed by Sujan ThapaliyaLast updated
Spaces, dashes, brackets, a leading 0, or a leading 00 are all fine.
Paste a number to convert it
You get E.164, the national format, the country it belongs to, and a length check, all computed in your browser. Nothing is sent to a server.
How do you convert a phone number to international format?
+442079460123. That is E.164, and it is the only phone number format that is unambiguous anywhere in the world.Step by step
How to use the number formatter
- 1
Paste the number as it was written
Spaces, dashes, brackets, and a leading trunk zero are all fine. Being permissive at input is the point; rejecting a customer for typing their own number normally is a far more expensive error than storing one odd row. - 2
Pick the country it belongs to
A national number is ambiguous without one. The country supplies the calling code and tells the formatter which trunk prefix to strip. - 3
Copy the E.164 result
Store that form, not the display form. Formatting for humans is something to do at render time; storing the display format is how a database ends up with one person recorded four different ways.
How it works
What the formatter is actually doing
Three steps, in order:
- Find the country. If the input starts with + or 00, the longest matching country calling code is taken from the front. Otherwise the country you selected is used, because a bare string of digits genuinely is ambiguous: the same ten digits can be valid in several countries at once.
- Strip the trunk prefix.If the remaining number starts with that country’s national prefix, it is removed. This is the step almost every hand-rolled implementation gets wrong, and it is why so many international calls fail to connect.
- Check the length. The digit count is compared against the documented pattern for that country. A mismatch is a warning, not a rejection: several countries have genuinely variable-length numbers, Germany most notably.
For production validation, be equally permissive on input and equally strict on storage: accept whatever the customer types, normalise it to E.164, and store that. Rejecting a real customer because they wrote their own number the way they always write it is a far more expensive mistake than storing one odd row.
Frequently asked questions
What is E.164 format?
Why do I need to remove the leading 0?
Does this tool send my numbers anywhere?
Can it tell me if a number is real?
How should I store phone numbers in a database?
Sources
- ITU-T Recommendation E.164 — The international public telecommunication numbering plan — International Telecommunication UnionThe international number format, the 15-digit maximum, and how country codes and national numbers compose.
- ITU-T International Numbering Resources — International Telecommunication UnionThe assignment of country calling codes and the published national numbering plans they belong to.
Import a whole list instead
Every number you import is normalised to E.164 automatically, matched to its country, and screened against your do-not-call and suppression lists before a single call is placed.
- No subscription
- Numbers in 100+ countries
- Compliance built in