Mobile number validation

Any phone number format allowed: widh dashes, parantheses, blanks, dots. Eg. 234-567-8901 or (234) 567-8901 or +1-234-567-8901, etc.

How to Use the Phone Number Validation Tool

The tool allows you to verify if a phone number is a valid and determine if it is a mobile phone (landline phones are presented as invalid by this tool). Here's how to use our phone validity checker:

  • Step 1: Enter the phone number you wish to validate or copy/paste it in the box above. Any phone format is allowed: national (eg. 234-567-8901 or (234) 567-8901 etc.) or international E.164 (eg. +1-234-567-8901).
  • Step 2: From the dropdown list select the country where you want to validate the phone number.
  • Step 3: Click the "Validate" button to validate the phone number. You'll be able to see the price estimate for sending an SMS and also send a text message to the phone number if it's valid. However, you'll need a SMS Connexion account to do so.

Why use phone number validation?

Did you know that 91 % of businesses suffer from data inaccuracies, and 77 % believe that incorrect contact information has a negative impact on their bottom line?

Verifying a phone number can help you prevent unneeded money and effort. It saves time by detecting invalid phone numbers early on. Instead of discovering invalid phone numbers in your database during sales, customer service, branding, or marketing activities, now is the greatest moment to do so. As phone numbers are collected and identified, they should be removed from your database.

The advantages of using phone validation are:

  • saves you money by sending SMS only to real numbers
  • gives better conversion rates on your SMS campaigns
  • prevent fraudulent entries in your phone database

How does phone number validation work?

The phone validator not only validates the number's format, but also whether or not it is available to receive calls or messages (landline fixed phone or mobile phone). Also, you won't have to worry about the owner of the mobile device receiving any SMS or notification because your phone verification efforts will be hidden from them.

What's the difference between a Phone Lookup and a Phone Validation?

The practice of obtaining personal information, such as a person's name, from a phone number or finding if a phone number is ported to another network is known as phone number lookup. Phone validation, on the other hand, will tell you whether the phone number associated with that record is real or not. The kind of number (landline or mobile), the carrier, and the country location will all be revealed during phone number validation.

Bulk Phone Number Validation API

SMS Connexion provides a strong yet simple phone number validation API with global coverage in over 200+ countries. It aids in the maintenance of a clean user base by checking phone numbers at the point of input into your system, eliminating the need to correct them afterwards. Advanced validation mechanisms are used in this phone validator API, including the use of the most recent international numbering plans, carrier, line type recognition, and country location.

Example of API request to validate phone numbers in bulk (up to 40.000 numbers per API request)

curl --request POST \
  --url \
  --header 'Authorization: Bearer REPLACE_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "phoneNumbers": [
import requests

url = ""

payload = {
	"phoneNumbers": [

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer REPLACE_ACCESS_TOKEN"

response = requests.request("POST", url, json=payload, headers=headers)

require 'uri'
require 'net/http'
require 'openssl'

url = URI("")

http =, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request =
request["Content-Type"] = 'application/json'
request["Authorization"] = 'Bearer REPLACE_ACCESS_TOKEN'
request.body = "{\"phoneNumbers\":[\"+336129353\",\"+33612970283\",\"+3361211\",\"+43664187834\",\"+41781218472\",\"+351912110421\",\"+4915123473140\",\"+4915123595\",\"+4915123966046\"]}"

response = http.request(request)
puts response.read_body

$curl = curl_init();

$payload = [
	"phoneNumbers" => [

curl_setopt_array($curl, [
  CURLOPT_URL => "",
  CURLOPT_POSTFIELDS => json_encode($payload),
    "Authorization: Bearer REPLACE_ACCESS_TOKEN",
    "Content-Type: application/json"

$response = curl_exec($curl);
$err = curl_error($curl);


if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"phoneNumbers\":[\"+336129353\",\"+33612970283\",\"+3361211\",\"+43664187834\",\"+41781218472\",\"+351912110421\",\"+4915123473140\",\"+4915123595\",\"+4915123966046\"]}");
Request request = new Request.Builder()
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer REPLACE_ACCESS_TOKEN")

Response response = client.newCall(request).execute();
const http = require("https");

const options = {
  "method": "POST",
  "hostname": "",
  "port": null,
  "path": "/numbers/validate",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer REPLACE_ACCESS_TOKEN"

const req = http.request(options, function (res) {
  const chunks = [];

  res.on("data", function (chunk) {

  res.on("end", function () {
    const body = Buffer.concat(chunks);

  phoneNumbers: [
package main

import (

func main() {

	url := ""

	payload := strings.NewReader("{\"phoneNumbers\":[\"+336129353\",\"+33612970283\",\"+3361211\",\"+43664187834\",\"+41781218472\",\"+351912110421\",\"+4915123473140\",\"+4915123595\",\"+4915123966046\"]}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("Authorization", "Bearer REPLACE_ACCESS_TOKEN")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)


var client = new RestClient("");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer REPLACE_ACCESS_TOKEN");
request.AddParameter("application/json", "{\"phoneNumbers\":[\"+336129353\",\"+33612970283\",\"+3361211\",\"+43664187834\",\"+41781218472\",\"+351912110421\",\"+4915123473140\",\"+4915123595\",\"+4915123966046\"]}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

See other tools:

  • SMS length calculator - enter a text message and calculate the number of message parts, characters, detect and show Unicode characters, estimate cost of sending an SMS
  • Bulk phone number list validator - process a list of contact and validate, clean (remove invalid, duplicates), convert to E.164 format and estimate cost of sending an SMS
  • Unicode to GSM converter - check text and replace non-GSM (Unicode) characters. Option to convert all Unicode characters detected or only specific languages: cyrillic, arabic, spanish, portuguese, etc.

Privacy Note

This online tool does not store any information about you and it does not store any of the text that is written, pasted or submitted into the box above.

Phone Number Validator Tool - v1.0.0 (last updated 14/02/2022)

Ready to go? Connect with your customers in minutes

Sign up Contact us