Validity, E.164 formats, and line type — Google metadata, offline, in your browser
+ for international, or pick a default country below) and you get its verdict, E.164 form, national and international formats, tel: URI, country, and line type. It distinguishes possible (right length) from valid (allocated prefix): +1 300-555-0100 is possible but invalid; +1 415-555-2671 is valid and formats to +14155552671. The metadata is Google's libphonenumber data — 257 KB shipped with the page, zero API calls.
| Country | Code | Example (E.164) | National format | Type | NSN digits |
|---|---|---|---|---|---|
| United States | +1 | +14155552671 | (415) 555-2671 | Fixed or mobile | 10 |
| Canada | +1 | +14165550199 | (416) 555-0199 | Fixed or mobile | 10 |
| United Kingdom | +44 | +442070313000 | 020 7031 3000 | Fixed line | 10 |
| United Kingdom | +44 | +447400123456 | 07400 123456 | Mobile | 10 |
| Germany | +49 | +4930901820 | 030 901820 | Fixed line | 8 |
| France | +33 | +33142685300 | 01 42 68 53 00 | Fixed line | 9 |
| Spain | +34 | +34912345678 | 912 34 56 78 | Fixed line | 9 |
| Netherlands | +31 | +31201234567 | 020 123 4567 | Fixed line | 9 |
| Australia | +61 | +61292507111 | (02) 9250 7111 | Fixed line | 9 |
| India | +91 | +919876543210 | 098765 43210 | Mobile | 10 |
| Brazil | +55 | +5511912345678 | (11) 91234-5678 | Mobile | 11 |
| Mexico | +52 | +525512345678 | 55 1234 5678 | Fixed or mobile | 10 |
| Japan | +81 | +81332121111 | 03-3212-1111 | Fixed line | 9 |
| Nigeria | +234 | +2348031234567 | 0803 123 4567 | Mobile | 10 |
Every row above was machine-checked against the metadata this page ships. The "national significant number" is what's left after the calling code and any trunk prefix — the US's 10 digits, Brazil's 11. National formats keep the trunk prefix you dial domestically (the leading 0 in the UK, Germany, France, and friends) that E.164 drops.
Under the hood this is libphonenumber-js 1.13.12 (MIT) carrying the complete offline metadata from Google's libphonenumber project — the same dataset Android, WhatsApp, and half the CRM industry use to sanity-check numbers. Parsing extracts the country, calling code, and national significant number; validation checks length ranges and prefix allocations; formatting renders the number against the country's canonical patterns.
| Input | Possible | Valid | What the metadata says |
|---|---|---|---|
+1 415-555-2671 | Yes | Yes | 10-digit NSN, area 415 allocated → E.164 +14155552671, national (415) 555-2671 |
+1 300-555-0100 | Yes | No | Length fits NANP, but area code 300 is unassigned — possible ≠ valid |
+1 415 555 26712 | No | No | 11-digit NSN doesn't fit any US length range |
The middle row is the whole reason two checks exist. "Possible" is the length check — useful while a user is typing, or to catch fat-fingered extra digits before the prefix check runs. "Valid" means the number matches an allocated block, which is as far as offline metadata can take you. Neither means the number is in service or owned by the person who typed it; that takes an SMS or a carrier lookup, by design.
+, country code, NSN, nothing else, 15 digits max by ITU decree.tel:+14155552671, the RFC 3966 form links and QR codes should carry.4155552671 snaps to (415) 555-2671 while it's being typed, which is the cheapest way to spot a wrong digit early.Validation and formatting by libphonenumber-js 1.13.12 (MIT), built on Google's libphonenumber metadata (Apache-2.0), bundled to 257 KB under /vendor/ with both license texts. Everything runs in your browser tab.
Paste the number and pick a default country for numbers written without a + prefix. The validator checks it against Google's libphonenumber rules: length against the country's allowed ranges, the prefix against allocated blocks, and the whole number against known line-type patterns. A valid US number like +1 415-555-2671 comes back valid=true with its E.164 form, +14155552671.
E.164 is the ITU standard for globally unique phone numbers: a plus sign, then the country code, then the national significant number, with no spaces, dashes, or parentheses — 15 digits maximum. +14155552671 is E.164; (415) 555-2671 is the same number in US national format. Databases and APIs should store E.164 and format for display at the edge.
Possible means the length is right for the country — the number could exist. Valid means the prefix is also in an allocated block. +1 300-555-0100 is possible=true but valid=false: ten digits like a US number, but area code 300 isn't assigned. Validate when you need to dial; use possible as a softer check while someone is still typing.
Yes, where the country's numbering plan distinguishes them. The UK is clean: 07400 123456 is MOBILE, 020 7031 3000 is FIXED_LINE. The US and Canada are lumped as FIXED_LINE_OR_MOBILE because NANP numbers don't carry the distinction in the number itself. Type comes from Google's metadata patterns, not a live carrier lookup — it can't tell you who currently holds the number.
No. The full Google libphonenumber metadata for every country ships with the page (about 257 KB) and every check runs in your browser tab. Nothing is transmitted — which is the difference between this and most "free phone validation" sites that harvest the numbers you paste. Safe for customer lists.
A number written in national format — 020 7031 3000, (212) 555-2368 — doesn't carry enough information on its own to identify the country. Either write it with the international prefix (+44 20 7031 3000) or set the default country dropdown to the country the number belongs to. Numbers starting with + always parse regardless of the dropdown.