Phone Parser & Formatter
Parse, validate and format international phone numbers.
Paste a phone number in any format — international, national, with or without formatting — and get its detected country, number type, and equivalents in E.164, national, international, and RFC 3966 forms. Powered by libphonenumber, the same library Android and most telephony APIs use.
Common use cases: normalising user-supplied numbers to E.164 before storing them, validating sign-up forms, identifying which country a number belongs to, formatting numbers for display in different locales, and debugging telephony integrations that reject your input.
Frequently asked questions
What's the right way to store phone numbers?
In E.164 format: a leading
+, country code, and subscriber number with no spaces or punctuation. +14155552671. It's unambiguous, sortable, and works as input for every telephony API.How does the parser know the country?
If the number starts with a
+, the country is detected from the leading digits. Otherwise you pick a default country and the parser tries to match the digits against that country's national-number patterns.Why does it say "possible but not valid"?
The number's structure matches the country's rules (right length, right prefix) but doesn't correspond to a real assigned range. Some carriers haven't been allocated yet, some ranges are reserved. For forms, "possible" is usually enough; "valid" is stricter.
Does it handle short codes and special-purpose numbers?
Limited support. Toll-free, premium-rate and short codes vary so much by country that this tool focuses on standard subscriber numbers — emergency numbers, short codes and IVR shortcuts are out of scope.