Online Playground
Browse tools

Phone Number Validator

Check any phone number, see its country and line type, and copy it as E.164, international or national.

Phone number validator

Try

Checked locally with libphonenumber-js. Your numbers are never sent to a server.

Formats

One number, four ways to write it

Every international number is a country code plus a national number. What changes is how you present it, and which format your system expects.

Country code1 to 3 digits. 44 is the United Kingdom.
National numberArea code plus subscriber number. No more than 15 digits in total with the country code.
FormatExampleUse it for
E.164+442079460958Databases, SMS and voice APIs, de-duplicating contacts.
International+44 20 7946 0958Showing a number to people in other countries.
National020 7946 0958Showing a number to people in the same country.
RFC 3966tel:+442079460958Click-to-call tel: links on web pages and in email.

Countries

Set a default country

Numbers written without a plus sign are read in the default country. Pick one and the validator above updates.

    FAQ

    Questions people ask

    Is my phone number uploaded anywhere?

    No. Validation runs in your browser with libphonenumber-js. The numbers you type or paste are never sent to a server. The page loads no third-party scripts, fonts or trackers: everything it uses is hosted on this site.

    Does a valid result mean the number is in service?

    No. A valid result means the number matches the numbering plan of its country: the length and the digits fit a range that country has assigned. It does not tell you whether the number is connected, active or reachable. To prove that, send a code and ask the user to enter it.

    What is E.164 format?

    E.164 is the international standard for storing phone numbers: a plus sign, the country code and the national number, with no spaces or punctuation, and at most 15 digits. Example: +442079460958.

    How do I convert a phone number to E.164?

    Paste the number, choose its country if it has no plus prefix, then copy the E.164 row in the results. For a list, open the Bulk tab and copy all valid E.164 numbers at once.

    Why does a number show as possible but not valid?

    Its length fits the country, but its digits do not match any range the country has assigned. This is usually a typo near the start of the number. The library's author actually prefers the length-only check for forms, because numbering plans change.

    Why is "Call: (213) 373-4253" rejected?

    The validator is strict: a phone number cannot contain letters or a colon. The library can extract a number from surrounding text, but a validator that did so would call "hello 4155552671" valid. To pull numbers out of text, use the phone number extractor.

    Can I check a long list of numbers?

    Yes. Use the Bulk tab to paste up to 2,000 numbers, one per line. You can copy the valid E.164 numbers or download the results as a CSV.

    In depth

    Why a number is rejected

    The validator tells you the reason, not just "invalid". These are real results from the library for common problems.

    Default countryInputReason
    United States12345TOO_SHORT
    United States(213) 373-425TOO_SHORT
    United States(213) 373-42531TOO_LONG
    No default country(213) 373-4253INVALID_COUNTRY
    No default country+9991112223333INVALID_COUNTRY
    United Statescall meNOT_A_NUMBER

    Valid does not mean reachable

    A valid result means the number fits an assigned range in its country's numbering plan. It does not mean the number is connected, owned by the person who gave it, or able to receive messages. To prove that, you need to send a code and have the user enter it.

    Possible, valid and the library's advice

    The tool reports possible when only the length fits and valid when the digits also fit an assigned range. The library's author says they prefer the length-only check for user input, because the data in an old copy of the library can go out of date. If your site is updated often, the stricter valid check catches more typos.