All posts

How to Check Two Phone Lists for Overlap (Opt-Outs, Customers, Last Month's List)

··3 min read

To check two phone lists for overlap, convert every number to one format, then compare. The phone list comparer converts each number to E.164 first, so (415) 555-0100 in one list matches +14155550100 in the other. You get the rows in both lists, the rows only in A and the rows only in B, each as a CSV with your columns kept.

It runs in your browser. Nothing is uploaded.

The by-hand way

  1. Put both lists in one sheet, in separate columns.
  2. Strip spaces, brackets and dashes, and add the country code where it is missing.
  3. Use COUNTIF or VLOOKUP to flag matches.
  4. Fix the ones that still do not match because of an extension or a stray 0.

Step 2 is where it goes wrong. Exports from dialers, SMS platforms, web forms and CRMs almost never agree on a format, so opt-outs slip back onto the call list.

Step 1: load both lists

Put your working list in A and the numbers to check against in B. A can be a call list, an SMS audience or a CRM export, with CSV columns kept. B can be opt-outs, your internal do-not-call list, existing customers or last month's list.

Step 2: set the country and compare

Pick the default country, used for numbers written without a +, and choose whether extensions count as different numbers. Then press Compare the lists. 020 7946 0958 is a London number when the default is the United Kingdom, and is not valid at all when it is the United States.

Step 3: download what you need

File What it is
A without B Your cleaned list
The overlap Numbers on both lists
B without A Numbers only on the second list

Entries that are not valid numbers are compared by their digits instead, so two copies of the same malformed entry still match.

Do-not-call lists

Under the FCC's rules (47 CFR 64.1200(d)) telemarketers must keep a list of people who asked not to be called and honour it, and this is a quick way to apply that list to a new file. It does not check the National Do Not Call Registry, which is available only to registered organisations. See scrubbing a list against the Do Not Call Registry.

What this check cannot do

  • It does not check the National Do Not Call Registry or any state list. You supply list B.
  • Numbers without a + code are read with one default country for both lists.
  • A match is the same number. It cannot link two different numbers held by one person.
  • Up to 500 rows per list a run without an account and 25,000 when signed in.

For what is left, see bulk phone number validation and checking if a number is VoIP.

Check the email side of the same list

The phone comparison sorts out who you should not contact. Upload the email column on the verify page: the first 100 email checks are free with a Google sign-in, no card. Each address comes back valid, risky or invalid with a reason, and nothing is sent to anyone on the list. For larger or recurring lists, see bulk email verification, list cleaning and pricing.

Compare your lists now

Open the phone list comparer.

Common questions

How do I check if phone numbers from one list are in another?

Convert every number to the same format first, then compare. A phone list comparer converts each number to E.164 and returns the rows in both lists, only in A and only in B.

Why doesn't VLOOKUP or COUNTIF find matching phone numbers?

Spreadsheets compare text, and the same number is written many ways. (415) 555-0100, 415-555-0100, +1 415 555 0100 and 4155550100 are four different values to VLOOKUP.

Can I use it to remove do-not-call numbers?

Yes, for a list you hold: put your call list in A and your opt-outs or internal do-not-call list in B, then download A without B. It does not check the National Do Not Call Registry.

What about numbers written without a country code?

They are read with the default country you pick, for both lists. A number with a + code is read correctly whatever you pick.

Does a match mean the number works?

No. A match is the same number. It does not say either number is in service.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.