PHONE NUMBER VALIDATOR

Validate phone numbers for any country and see national, international, and E.164 formats. Nothing is transmitted or stored — it all happens in your browser.

Valid number
National format(415) 555-2671
International format+1 415 555 2671
E.164+14155552671
CountryUS
Number typeFixed line or mobile

How to validate a phone number

  1. 1

    Pick the default country for the number you're checking (used when the number isn't typed with a country code).

  2. 2

    Type the number in national or international format, e.g. (415) 555-2671 or +14155552671.

  3. 3

    See whether it's valid, plus its national format, international E.164 format, country, and line type when available.

Questions

What's the difference between "possible" and "valid"?
A number can be the right length for its country ("possible") without matching any real numbering plan pattern for that country ("valid"). For example, a 10-digit US number that starts with an invalid area code is possible-length but not valid. This tool checks both and tells you which one failed.
Does this tell me if the number is currently in service?
No. This validates the number against the public numbering-plan rules for its country — formatting, length, and valid prefix ranges. It cannot tell you whether that specific number is currently assigned to anyone, active, or reachable; that requires a carrier lookup or an actual call/SMS attempt, neither of which a client-side format checker does.
Why don't all numbers show a line type (mobile/fixed-line/etc)?
Line-type detection depends on each country publishing separate numbering ranges for mobile vs. fixed-line vs. toll-free numbers. Many countries don't make that distinction in their public numbering plan, so for those numbers no type is shown rather than guessing — you'll only see a type when it can be determined reliably.
Is my phone number sent anywhere?
No. Parsing and validation happen entirely in your browser using the libphonenumber-js library running as JavaScript — the number you type is never transmitted to a server, logged, or stored.