All posts

How to Validate Phone Numbers Before an SMS Campaign

··4 min read

Before an SMS campaign, check four things on every number: it's valid for its country, it's in E.164 format, it's a mobile, and you have consent to text it. The first three are data checks you can automate. The fourth is a record you have to keep. Skipping any of them costs money per message and drags down the delivery rate carriers judge you by.

Why bad numbers cost more in SMS than in email

SMS is billed per message attempt. A bounced email costs nothing but reputation; a failed text costs the per-segment price plus carrier fees, every time you resend to it. And in the US, business texting runs on registered programs (10DLC for long codes, plus toll-free and short-code programs), where carriers monitor how your traffic behaves. A list full of dead and landline numbers makes a campaign look careless before anyone reads it.

Check 1: Valid for its country

Run every number against the country's numbering plan and drop the ones that can't exist: wrong length, unallocated prefix, placeholders like 000-000-0000. This is free. Most validators use Google's libphonenumber data. See how to check if a phone number is valid for what this level catches and what it misses.

Check 2: E.164 format

SMS APIs expect numbers in E.164, such as +14155552671. A national-format number like 07911 123456 will fail or, worse, go to the wrong country if the API guesses. Converting a list means choosing a default country for numbers without a code, then formatting each one. E.164 format explained covers the traps, including the leading zero that must go in the UK but stay in Italy.

E.164 also makes duplicates obvious. The same person entered as (415) 555-2671 and +1 415 555 2671 would otherwise get your campaign twice.

Check 3: Mobile, not landline

Most landlines can't receive a normal text. Some carriers read texts aloud as a voice call, and some businesses text-enable their office numbers, but for a campaign you should treat landlines as unreachable.

  • Outside North America, the numbering plan gives mobiles their own prefixes, so a free check can tag them. UK mobiles start 07, Australian 04.
  • In the US and Canada, mobiles and landlines share area codes, so a free check returns "mobile or landline". You need a carrier lookup to split them. Mobile vs landline lookup explains why and how.

Also watch VoIP numbers. Many deliver texts fine, but some VoIP services don't support SMS, and VoIP-heavy lists are a common sign of junk signups.

Check 4: Consent and reassigned numbers

A number that passes every data check can still be the wrong person. Numbers are recycled: a mobile disconnected last year may belong to someone new today. In the US, the FCC's Reassigned Numbers Database lets callers check whether a number has been permanently disconnected since a given date, which helps show you aren't texting a stranger who never agreed to hear from you.

Consent rules for marketing texts vary by country, and in the US they come with real penalties. Keep a record of when and how each number opted in, honour opt-outs immediately, and get specific advice for the countries you text. Data validation can't do this part for you.

A pre-send checklist

Step Check Tool
1 Remove invalid numbers Numbering-plan validation (free)
2 Convert to E.164 Same pass
3 Deduplicate on E.164 Spreadsheet or CRM
4 Keep mobiles only Free type outside North America; carrier lookup in US/Canada
5 Confirm consent records Your CRM or signup logs
6 Check for reassigned numbers (US) FCC Reassigned Numbers Database
7 Send a small test batch Your SMS provider

Steps 1–3 on a whole list

In SimpleVerifier, upload the CSV on the verifier. Every row with a phone number gets phone_status, phone_e164, phone_country and phone_type. Download valid phones only, dedupe on phone_e164, and keep the rows where phone_type is mobile. Numbers without a country code are read as US numbers. Phone format validation is included in the $29.99 plan.

For North American lists, the numbers that come back as mobile_or_landline need a carrier lookup to split. The Email + Phone plan adds live carrier lookups ($49.99/month, 5,000 a month): each looked-up number gets its real line type (mobile, landline or VoIP) and its current carrier, and failed lookups don't count against the allowance.

Related: clean phone numbers in a CSV · free phone number validator

Common questions

Do I need to validate phone numbers before sending SMS?

Yes. SMS providers charge per message attempted, invalid numbers fail outright, and landlines usually can't receive texts. Cleaning the list first saves money and keeps your delivery rate meaningful, which matters because carriers watch failure rates on business messaging.

What format do SMS APIs require?

E.164: a plus sign, the country code and the number with no spaces, like +14155552671. Most SMS APIs reject or misroute numbers in national formats such as (415) 555-2671.

How do I remove landlines from an SMS list?

Outside North America, use the line type from the numbering plan: mobile ranges are distinct. In the US and Canada you need a carrier lookup, because mobile and landline numbers share the same area codes.

Does a valid number mean I'm allowed to text it?

No. Validation is about whether a number can receive a text, not whether you may send one. Marketing texts generally need the recipient's prior consent, and the rules differ by country, so check the requirements where your recipients are.

Verify unlimited addresses for $29.99/month

Real SMTP mailbox checks. No credits, no per-email fees.

Get Started