Home / Guides / How to clean an email list

How to clean an email list, step by step

Cleaning a list is mostly a sequence: back up, dedupe, verify, sort the results, then keep it clean. Here's the sequence.

Updated 2026-11-11

TL;DR

  • Back up first, dedupe, then verify. Never overwrite your only copy.
  • Sort results into four buckets: deliverable, risky, undeliverable, unknown.
  • Remove undeliverable; treat risky deliberately; retry unknown.
  • Clean lists decay again, so schedule re-verification.

The eight steps

  1. Back up. Save the original file untouched.
  2. Remove duplicates. Compare case-insensitively; many verifiers do this for free.
  3. Remove your own known-bad rows: past hard bounces, unsubscribes and complaints. Verification doesn't know your history.
  4. Verify. Upload the file for bulk verification. See bulk verification.
  5. Sort the results. Deliverable: keep. Undeliverable: delete. Unknown: retry in a day or two. Risky: decide (below).
  6. Decide on risky addresses. Catch-alls, role addresses and disposable ones. For cold outreach, leave them out or send a small slice first; for a newsletter with consent, role addresses may be fine. Guide.
  7. Import the clean file and keep the removed addresses in a separate suppression file so they don't return.
  8. Schedule the next clean. See how often to verify.

What to expect

How much comes out depends on the list's age and source. A recent opt-in list may lose a small share; an old or purchased list can lose a lot. Estimate before spending: take a 500-address sample with the list sampler.

Mistakes to avoid

  • Cleaning only once and never again.
  • Deleting risky addresses from a consented list without checking whether they're role addresses your customers use.
  • Skipping the suppression list, which lets old bounces creep back in.
  • Verifying and then waiting weeks to send. Verify close to the send date.

After cleaning

Verify new addresses at capture with the API or widget so the list stays clean: email verification API. Track the bounce rate on your next send: bounce rate calculator.

A worked example

A 25,000-row list: remove 600 duplicates and 400 known past bounces (24,000 left); verification returns 20,400 deliverable, 2,300 risky, 1,100 undeliverable and 200 unknown. Remove the 1,100, retry the 200, test a slice of the 2,300, and send to 20,400 first. The cost at the 25,000 pack is $99, and the risk of a 4.6% undeliverable share is gone before the first send.

FAQ

How do I clean an email list?

Back it up, remove duplicates and past bounces, verify, remove undeliverable addresses, decide on risky ones, and schedule re-verification.

How often should I clean my email list?

At least before every big campaign and every few months for active lists.

Can I clean a list for free?

Small amounts, yes, with free trials; a whole list needs a paid pack.

Related

Start your free trial →