Phone Number Validator
Parses and validates an international phone number, showing its country, number type (mobile/landline) and standard formatted representations.
This guide is not yet available in your language and is shown in English.
Tool guide
What this tool does
Phone Number Validator parses a phone number using Google’s libphonenumber data, the same library behind Android’s phone handling, identifying its country, number type (mobile, fixed line, toll-free and more), and showing it in E.164, international and national formats.
Phone number formats vary enormously by country, different lengths, different valid prefixes for mobile versus landline numbers, different area code conventions, making a reliable, general-purpose validator far harder to hand-roll correctly than it first appears.
This tool parses numbers using Google’s libphonenumber metadata, the same underlying data Android itself uses for phone number handling, correctly identifying the country, the number type (mobile, fixed line, toll-free, and more), and producing standard E.164, international and national formatted representations.
How to use Phone Number Validator
- Enter the Phone number, ideally with a leading + and country code.
- Optionally set a Default country code if the number has no explicit country code (e.g. a local 10-digit number).
- Review the Valid result, detected Country and Number type.
- Use the E.164, International or National formatted outputs as needed.
Tips for better results
- Including a leading + and the country code (like +91 for India or +1 for the US/Canada) is the most reliable way to get an accurate result without needing to specify a default country separately.
- The E.164 format (e.g. +14155552671, no spaces or punctuation) is the standard machine-readable format most APIs and databases expect for storing phone numbers.
- A number can be structurally "valid" for its country’s numbering plan without that specific number actually being assigned to anyone; this checks numbering-plan validity, not live reachability.
- The number type detection (mobile vs. fixed line vs. toll-free, etc.) is based on the specific number ranges each country has allocated to each type, and is generally reliable but occasionally unknown for newer or less common ranges.
Common use cases
- Validating a phone number field in an international sign-up or checkout form.
- Converting a phone number to the standard E.164 format before storing it in a database or sending it to an SMS/calling API.
- Checking whether a number is a mobile line (relevant for SMS-based verification) versus a landline.
- Understanding which country an unfamiliar international number belongs to.
Common mistakes to avoid
- Omitting both the country code and a default country, which usually makes the number impossible to parse correctly, since local number formats alone are often ambiguous between countries.
- Treating "valid" as proof the number is currently active and reachable; this confirms the number matches a real, structurally valid pattern for its country’s numbering plan, not that a live phone is currently assigned to it.
- Assuming number type detection is always 100% certain; most results are reliable, but a small number of ranges can be genuinely ambiguous or not confidently classifiable from the number alone.
Frequently asked questions
Does "valid" mean the phone number is currently active?
No, this confirms the number matches a real, structurally valid pattern within its country’s official numbering plan, not that a phone is currently assigned to it and reachable.
What is E.164 format?
The international standard machine-readable phone number format: a + followed by the country code and subscriber number with no spaces, dashes or parentheses, e.g. +14155552671, widely required by APIs, databases and telecom systems.
Why do I need to set a default country?
A number without an explicit country code (like a local 10-digit number) is ambiguous on its own; specifying a default country tells the parser which numbering plan to interpret it against.
What library powers this?
libphonenumber-js, a JavaScript port of Google’s libphonenumber, the same phone number metadata and parsing logic used internally by Android.
Feedback & suggestions
Help us improve Phone Number Validator. We read every message.