Phone Number Validator: Bulk, Country, Mobile or Landline
Pricing
$0.30 / 1,000 number checkeds
Phone Number Validator: Bulk, Country, Mobile or Landline
Validate and clean phone number lists: valid or not, country, mobile / landline / toll-free / VoIP, E.164 and international format, extensions and duplicates. 240+ countries, Google's libphonenumber data. CSV link input. Nothing is dialed.
Pricing
$0.30 / 1,000 number checkeds
Rating
0.0
(0)
Developer
SwiftKit
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
16 days ago
Last modified
Categories
Share
Clean a phone number list in seconds. For every number you get:
- valid / possible / invalid, and the reason (
too_short,too_long,unknown_country_code…) - Country and calling code
- Line type: mobile, landline, toll-free, premium rate, VoIP, shared cost…
- Clean formats: E.164 (
+14155552671, what CRMs and SMS tools want), international, national and atel:link - Extensions split out (
ext. 12) - Duplicates:
090-1234-5678and+81 90 1234 5678are the same number
It uses the numbering-plan data from Google's open-source libphonenumber, covering 240+ countries and regions. No number is called, texted or looked up anywhere. It's fast, cheap and private.
Who it's for
- CRM and marketing ops: normalize numbers to E.164 before importing or sending SMS.
- Sign-up forms and lead lists: catch typos and fake numbers like
12345. - Sales teams: separate mobile from landline numbers.
- Developers and AI agents: one call, consistent JSON.
Input
- Phone numbers: one per line, in any common format.
- Or a CSV link (for example a Google Sheet published as CSV). Every phone-looking cell is used.
- Default country (optional): for numbers written without
+country code, like020 7946 0958withGB.
Output
{"input": "090-1234-5678","valid": true,"result": "valid","reason": null,"e164": "+819012345678","international": "+81 90 1234 5678","national": "090-1234-5678","countryCode": "JP","country": "Japan","callingCode": "+81","type": "mobile","extension": null,"uri": "tel:+819012345678","isDuplicate": false}
| result | meaning |
|---|---|
valid | Right length and in a number range that's in use for that country. |
possible | Right length, but in a range not assigned (yet). Often a typo. |
invalid | Wrong length, unknown country code, or not a number. |
A SUMMARY record in the key-value store counts each result and the duplicates.
Pricing
You pay per number checked. See the Pricing tab.
Limits, honestly
- "Valid" means the number fits the country's official numbering plan. It does not mean the line is active or who owns it. Checking that needs a carrier lookup, which this tool doesn't do.
- Some countries don't separate mobile and landline ranges (the US and Canada, for example). Those
numbers show
landline_or_mobile. - Numbers keep moving between carriers, so the carrier isn't reported.
- We process only the numbers you send and don't store or reuse them.
More tools from SwiftKit
- Email Validator: clean email lists: MX, disposable, typos, duplicates
- Website Contact Finder: company socials, phones and shared inboxes from a website
- WHOIS & Domain Expiry Checker: registrar, expiry, age and DNS for any domain
Questions?
Open an issue on the Issues tab.