Your prospect list has 5,000 phone numbers. How many are actually dialable? Probably fewer than you think. According to SalesHive, B2B contact data decays at a rate of 70.3% per year — and phone numbers are no exception. Add to that an even more underestimated problem: format. A valid number that’s badly formatted is a useless number.

Phone number validation is the process of ensuring a phone number is syntactically correct, properly formatted, and potentially active. In a B2B context where every missed call costs your sales team time and money, getting this right has become a competitive necessity.

In this guide, you’ll understand the main international formats, learn how to validate your numbers effectively, and discover the right tools for non-technical teams.

TL;DR
Phone number validation checks that a number is correctly formatted and potentially active. The universal standard is the E.164 format: a plus sign followed by the country code and national number, no spaces or dashes, 15 digits maximum. B2B data decays at 70% per year - validating your numbers regularly is essential to keep your lists dialable and your outbound campaigns profitable.

Find verified phone numbers directly from LinkedIn

Derrick enriches your prospects with their professional phone numbers in a few clicks, right inside Google Sheets.

Try for free →

Derrick Demo

Why phone number validation matters for your B2B team

Picture Mike, an SDR at a Series B SaaS company. He starts the week with 200 calls to make. After two days, he’s spent nearly 40% of his time hitting disconnected numbers, gated switchboards, and formats his auto-dialer flat-out rejects. Pure wasted time, drained energy, and a pipeline that’s going nowhere.

This isn’t an edge case. According to a 2025 Validity report, 76% of sales teams say less than half of their CRM data is accurate and complete. And the cost is tangible: 44% of businesses lose more than 10% of annual revenue due to inaccurate CRM data, according to Plauti.

Three problems show up again and again with phone data:

  • Incorrectly formatted numbers: a number entered without a country code, with spaces or dashes, is incompatible with most calling and automation tools.
  • Outdated numbers: SalesHive reports that 42.9% of B2B contacts change their phone number within a year.
  • Unreachable numbers: disconnected landlines, inactive VoIP lines, temporary numbers.

Phone number validation lets you identify and fix all three categories before they derail your campaigns.

With that context in mind, let’s look at the universal standard everything else is built on: the E.164 format.


The E.164 format: the international standard you need to know

E.164 is the official recommendation from the ITU-T (International Telecommunication Union) for structuring phone numbers internationally. In practice, it’s the format that all telecom carriers, communication APIs (Twilio, Vonage, etc.) and serious automation tools expect.

How the E.164 format works

An E.164 number follows one consistent rule:

+ [country code] [national number]

The key rules:

  • Always starts with a + sign
  • Followed by the country code (1 to 3 digits)
  • Then the national number (without the local trunk prefix zero)
  • Maximum 15 digits total (not counting the +)
  • No spaces, dashes, parentheses or special characters

Concrete examples:

Local format E.164 format Country code
(415) 555-0123 (US) +14155550123 +1
07911 123456 (UK) +447911123456 +44
06 12 34 56 78 (France) +33612345678 +33
030 12345678 (Germany) +493012345678 +49
11 98765-4321 (Brazil) +5511987654321 +55

The detail that trips most people up: the local trunk prefix zero is dropped in E.164. In the UK, 07911 123456 becomes +447911123456 — not +4407911123456. In France, 06 12 34 56 78 becomes +33612345678.

Why you should store all numbers in E.164

Whether you’re running a domestic or international prospecting operation, storing numbers in E.164 gives you three immediate advantages:

  1. Universal compatibility: every calling and SMS API (Twilio, Vonage, WhatsApp Business) expects E.164. A poorly formatted number means a call that never goes through.
  2. Database consistency: no more duplicates caused by the same number stored in multiple local variants.
  3. Simpler validation: an E.164 number is straightforward to validate programmatically.

Now that you understand the E.164 standard, here’s how it applies across the key markets your team is likely prospecting.


International phone number formats by country

Every country has its own local display conventions — but all of them can and should be converted to E.164 for operational use. Here’s a breakdown of the main B2B markets.

North America (NANP)

The US, Canada, and many Caribbean nations share the same country code (+1) and a fixed 10-digit format: 3-digit area code + 7-digit subscriber number. (415) 555-0123 becomes +14155550123. Straightforward.

Europe

Country Common local format E.164 format Key rule
UK 07911 123456 +447911123456 Drop leading 0
Germany 030 12345678 +493012345678 Variable area codes
France 06 12 34 56 78 +33612345678 Drop leading 0
Spain 612 345 678 +34612345678 No leading 0
Italy 312 345 6789 +39312345678 No leading 0
Netherlands 06 12345678 +31612345678 Drop leading 0
Belgium 0471 12 34 56 +32471123456 Drop leading 0

Asia-Pacific: expect more variation

The Asia-Pacific region is the most heterogeneous:

  • Japan: variable-length area codes, country code +81
  • India: 10-digit mobile numbers starting with 7, 8 or 9, country code +91
  • Australia: mobiles in the 04xx xxx xxx range, country code +61

The golden rule remains the same everywhere: convert to E.164 on input, not retroactively.

With the format landscape clear, here’s how to actually validate your phone numbers — step by step.


How to validate phone numbers: a step-by-step guide

Phone number validation works at two complementary levels: syntactic validation (is the format correct?) and live validation (is the number active and reachable?).

Step 1: Clean and normalize your raw numbers

Before any validation, normalize your data. Most prospect databases contain numbers in inconsistent formats: spaces, dashes, parentheses, missing country codes, or duplicate prefixes.

Actions to take:

  • Strip all spaces, dashes, and parentheses
  • Identify numbers without a country code and complete them
  • Remove the local trunk prefix zero before adding the country code
  • Confirm every number starts with “+”

Expected result: all your numbers follow the format +[country code][national number], with no special characters.


Step 2: Validate the syntax (E.164 format check)

Syntactic validation checks that a number respects the structural rules of E.164 and the national numbering plan of the relevant country. It’s your first line of defense against bad data.

For non-technical teams, the simplest route is using a validation tool or API that does this automatically (covered in the next section).

For technical teams, libphonenumber, Google’s open source library, is the industry reference. It’s available in Java, JavaScript, and C++, with a widely used Python port called phonenumbers.

Here’s a minimal Python example:

import phonenumbers

# Parse the number (international format required)
number = phonenumbers.parse("+14155550123")

# Check validity
is_valid = phonenumbers.is_valid_number(number)
# Result: True (structurally valid)

# Identify the type: mobile, landline or VoIP
number_type = phonenumbers.number_type(number)
# Result: 1 = Mobile, 0 = Fixed, 6 = VoIP

💡 No-code alternative: Use an API like Twilio Lookup, or a tool like Derrick that retrieves structured phone numbers directly from LinkedIn profiles — eliminating the need to validate messy raw data in the first place.

Expected result: Numbers that fail syntactic validation are flagged or excluded from your sequences.


Step 3: Live validation with carrier lookup

Syntactic validation isn’t enough on its own. A number can be perfectly formatted but disconnected or unassigned. The next step is a carrier lookup — a real-time query of carrier databases to confirm the number is actually assigned to a subscriber.

As Twilio explicitly states in its documentation, a regex alone cannot guarantee that a number matches an active subscriber. Only a live carrier lookup can confirm that.

What a carrier lookup returns:

  • Confirmation the number is active with a carrier
  • Line type: mobile, landline, VoIP, prepaid
  • Country and carrier information

Leading APIs for carrier lookup:

  • Twilio Lookup API
  • Vonage Number Insight
  • Numverify

Expected result: For each number, you know whether it’s mobile (ideal for SMS and direct outreach) or landline (useful but less direct for decision-maker access), and whether it’s currently active.


Step 4: Qualify the number type for your campaigns

Once validated, one final filter makes a real difference: separating direct mobile numbers (highest value for outbound) from company switchboards (lower conversion for cold calling).

  • Mobile number: reached directly, SMS-compatible → high priority
  • Direct dial landline: reaches the person without a gatekeeper → high priority
  • Central switchboard: goes through a receptionist → lower priority for cold calling

For Sarah, VP of Sales at a mid-market B2B software company, this distinction is game-changing. Calling a direct mobile is statistically 3 to 4 times more likely to reach the actual decision-maker than dialing a general company number.


Tools for validating phone numbers

The right approach depends on your volume and technical setup.

Validation APIs (for technical teams)

Tool Strengths Best for
Twilio Lookup Industry standard, real-time carrier lookup High-volume validation
Vonage Number Insight Strong international coverage Multi-country teams
Numverify Simple API, affordable Smaller volumes
AbstractAPI Phone Validation Clean docs, easy integration Developers getting started

libphonenumber: the open source reference

libphonenumber is the open source library built and maintained by Google. It’s used natively in Android to validate phone numbers and is the de facto standard for syntactic validation across the industry.

Its main advantage: it knows the numbering plans for virtually every country and is updated regularly. No need to maintain complex, fragile regex patterns.

Get clean numbers at the source with Derrick

A complementary — and often more efficient — approach for sales teams is to get properly structured numbers from the start, rather than cleaning dirty data after the fact.

With Derrick’s Phone Finder feature, you retrieve a prospect’s phone number directly from their LinkedIn profile, delivered in a usable format without any additional processing. Since the data comes from the source, it bypasses most formatting issues upstream.

Related article

Best tools to find professional phone numbers

See our comparison of the top phone finder tools to enrich your prospect data.


Best practices: the rules that actually matter

1. Store in E.164, display in local format

Store all numbers in E.164 in your CRM and Google Sheets. For display — in your reps’ dashboards or outreach emails — convert to the local readable format. Keeping storage and display separate eliminates the vast majority of format-related bugs.

2. Validate on input, not just in batch

The most effective validation happens at the moment a number enters your database: form submission, CSV import, LinkedIn enrichment. The longer you wait, the more bad data spreads through your sequences.

3. Run regular batch re-validation

SalesHive’s data puts phone number churn at 42.9% of B2B contacts per year. A number that’s valid today may be dead in six months. Schedule a quarterly batch validation of your database to stay ahead of decay.

4. Use libphonenumber instead of homemade regex

Regular expressions can validate basic syntax, but they don’t account for country-specific numbering rules. A valid Spanish number, an Indian mobile, and a US landline all have different structures. libphonenumber handles all of these automatically and stays up to date.

5. Combine syntactic and live validation

Syntactic validation (format correct) is fast and free. Live validation (number active with a carrier) has a cost but delivers significantly better reliability. For high-volume campaigns, combining both is the winning approach.

6. Track source and last validation date

Add two columns to your CRM or Google Sheets: number source (LinkedIn, form, enrichment tool) and last validation date. This lets you prioritize which records need refreshing — and proves data quality to your ops team.

7. Treat phone numbers as PII

A phone number is personal data under GDPR (and CCPA for US operations). Its collection, storage, and use are subject to the same rules as email addresses. See the compliance section below.


GDPR, TCPA and phone number compliance

Phone number validation doesn’t stop at the technical layer. In the US and Europe, using phone numbers for commercial outreach is regulated.

In Europe (GDPR), any personal data including phone numbers must be collected under a valid legal basis: legitimate interest, explicit consent, or contractual necessity. For B2B prospecting, legitimate interest is commonly relied upon — but it doesn’t remove the obligation to honor opt-outs promptly or respect data retention limits.

In the US (TCPA), the Telephone Consumer Protection Act regulates how businesses can contact individuals by phone or SMS. Key rules include consent requirements for automated calls and texts, and honoring Do Not Call registry listings.

Practical rules to follow:

  • Check against your country’s Do Not Call registry before dialing (TPS in the UK, Bloctel in France, DNC in the US)
  • Inform prospects how their data will be used
  • Remove opted-out contacts promptly
  • Don’t retain phone numbers beyond what’s operationally necessary (typically 3 years after last contact in B2B)

Compliant enrichment tools like Derrick collect data from public sources (LinkedIn) within a professional use framework.


Common mistakes — and how to fix them

Problem 1: Numbers stored without a country code

Impact: Your auto-dialer or CRM doesn’t know which country to call. The number is either rejected outright or dialed with a wrong default country code.

Fix: Make country code a required field at import. For existing databases, run a normalization pass using the company’s country to infer the missing prefix.


Problem 2: Leading zero kept in E.164 format

Impact: +4407911123456 instead of +447911123456 is an invalid, unroutable number.

Fix: Add a cleaning rule that always strips the local trunk prefix zero before concatenating with the country code. libphonenumber handles this conversion automatically.


Problem 3: Syntactic validation only (no carrier lookup)

Impact: Well-formatted but disconnected numbers enter your sequences, generating wasted dial attempts.

Fix: For high-stakes campaigns, pair syntactic validation with a carrier lookup via Twilio Lookup or Vonage. For large databases, a monthly batch check is sufficient.


Problem 4: Mixed formats in the same CRM column

Impact: Impossible to sort, filter, or export consistently. Calling tools reject unrecognized formats.

Fix: Enforce E.164 as the only accepted format in your CRM via an input validation rule. Use a batch normalization tool to clean historical data.


Problem 5: Not distinguishing mobile from landline

Impact: SMS campaigns go to landlines. Sales reps spend time on central switchboards that never route to the actual decision-maker.

Fix: During validation, always retrieve the line type (carrier lookup). Segment your sequences accordingly: SMS to mobiles only, cold calling prioritized on direct dials.


Key takeaways

  • E.164 is the universal standard: store all numbers as +[country code][national number], no spaces or dashes, 15 digits maximum.
  • The local trunk prefix zero is dropped in E.164: UK’s 07911 123456 becomes +447911123456, never +4407911123456.
  • Syntactic validation (correct format) isn’t enough — only a carrier lookup confirms a number is active with a carrier.
  • B2B data decays at 70%+ per year: plan a quarterly re-validation of your database.
  • libphonenumber from Google is the technical reference for syntactic validation; for non-technical teams, APIs like Twilio Lookup do the job.
  • Distinguishing mobile from landline dramatically changes your outbound campaign results.
  • Phone numbers are personal data subject to GDPR and TCPA — check DNC registries and respect opt-outs.

Conclusion: where to start

Phone number validation isn’t just a developer concern. For SDRs, Growth Marketers, and Sales Ops professionals, understanding the E.164 format and having a simple validation process in place delivers immediate gains in campaign quality and team productivity.

The most effective strategy is to act on two fronts: validate your existing data in batch to clean up the backlog, and collect clean numbers from the start to avoid feeding the problem.

For that second part, Derrick’s Phone Finder lets you pull phone numbers for your prospects directly from their LinkedIn profiles, inside Google Sheets — no manual export, no reformatting required.

Enrich your prospects with their direct phone numbers

Pull phone numbers from LinkedIn leads in seconds, directly inside Google Sheets.

Try for free →

Derrick Demo

FAQ

What is the E.164 phone number format? E.164 is the international standard defined by the ITU-T for structuring phone numbers. The rule: a + sign followed by the country code then the national number, no spaces or special characters, 15 digits maximum. Example: +14155550123 for a US number.

What’s the difference between syntactic and live phone number validation? Syntactic validation checks that a number follows the correct format and national structure. Live validation (carrier lookup) queries carrier databases in real time to confirm the number is actually active and assigned to a subscriber. Both are complementary — syntactic is free and fast, live validation adds reliability at a small cost per query.

Can you validate phone numbers in bulk inside Google Sheets? Yes. Tools like Derrick let you enrich contact columns with phone numbers sourced from LinkedIn, directly in Google Sheets. For batch validation of existing numbers, APIs like Twilio Lookup can be connected via Zapier or Make without writing code.

Does GDPR apply to B2B phone number collection? Yes. A phone number is personal data under GDPR, even in B2B contexts. Collection must be based on a valid legal basis (legitimate interest is common for outbound prospecting), contacts must be able to opt out, and data shouldn’t be kept longer than necessary.

How do you convert a local phone number to E.164? Four steps: remove all non-numeric characters (spaces, dashes, parentheses), drop the leading zero if present, add the country code with a + prefix, then verify the total doesn’t exceed 15 digits. The libphonenumber library handles this conversion automatically for all countries.

Denounce with righteous indignation and dislike men who are beguiled and demoralized by the charms pleasure moment so blinded desire that they cannot foresee the pain and trouble.