Phone Number Validator & Formatter
Validate any phone number against the official numbering plans, see whether it is real or just plausible, and get E.164, international, national and RFC3966 formats side by side.
Also available as a desktop app for Windows.
About this tool
Phone numbers look simple and are not. A British mobile typed into an American form gets rejected; a leading zero disappears; a number that is "10 digits long, so it must be fine" turns out to be nobody’s number at all. The rules that decide all of this live in each country’s numbering plan — hundreds of them, updated regularly — and nobody keeps them in their head.
This tool checks a number against those plans. Pick the country the number belongs to (or just type the number with its + country code) and you get three separate answers: whether the number is valid — that is, it matches a real, currently assigned number range; whether it is merely plausible — the right length for the country but matching no real range; or neither. The distinction matters: a plausible-but-invalid number is the classic typo that survives naive length checks and then bounces.
Alongside the verdict you get the standard formats side by side: E.164 (the unambiguous +countrynumber form databases and APIs want), the international and national display formats with correct spacing, and the RFC3966 tel: URI for click-to-dial links. The number’s type — mobile, fixed line, toll free, VoIP — is shown where the plan identifies it. Example numbers for every country come from the same dataset, so you always have something valid to try.
The validation data is Google’s libphonenumber dataset, bundled into the page: no number you enter is sent anywhere, and the tool works offline.
Frequently asked questions
- What is the difference between "valid" and "plausible"?
- Plausible means the length fits the country’s plan. Valid means the number matches an actual assigned range within it — 10 digits is a plausible US number, but 131-234-5678 is not one anybody has. Forms should demand validity; length checks alone let these typos through.
- Why do I need to pick a country if I already type the + code?
- You often don’t: a number written with its + country code is self-describing and the country picker is ignored. The picker is for numbers written the local way — without the + prefix — like 020 7946 0958, which only means something once the country is known.
- What is E.164 and why do databases want it?
- E.164 is the international standard form: a leading +, the country calling code, then the national number with no spaces, zeros removed, at most 15 digits. It is unambiguous — the same number written three different ways collapses into one E.164 string — which is exactly why APIs, CRM systems and verification services store numbers in this format.
- A number shows as valid. Does that mean it exists?
- No — and no offline tool can tell you that. Valid means the number sits inside a range that the country’s operator actually assigns numbers from. Whether this particular number is in service, and who holds it, can only be learned by contacting it (for example with an SMS verification flow).
- How current is the data?
- It is Google’s libphonenumber dataset — the same one behind Android’s dialer and most phone verification libraries — bundled at build time. Numbering plans do change, so treat an unexpected "invalid" as a reason to double-check rather than a court ruling.
- Are the numbers I check stored or sent anywhere?
- No. The dataset ships with the page and everything runs in your browser, so the tool keeps working with no connection at all.