← Deliverability

Email List Cleaning: How to Clean Your Email List for Free (Step by Step)

Email list cleaning means removing the addresses that will bounce, never read your email, or hurt your sender reputation, before you send to them. Done right it takes minutes, costs nothing for most lists, and protects the one thing you can't buy back quickly: a sending domain that inbox providers trust.

This guide gives you the full cleaning process in order, shows what each step removes on a real-looking list, explains how cleaning a cold outreach list differs from cleaning a newsletter list, and tells you when a free clean is enough and when paying for a deeper check is worth it.

What a dirty list does to you

Bad addresses don't just fail quietly. Every hard bounce tells Gmail, Microsoft and the rest that you are mailing addresses you never confirmed. Push that past a couple of percent and they start filtering more of your mail to spam, including the mail sent to perfectly good addresses. Unengaged and throwaway addresses add a second, slower problem: low engagement signals that make future mail less likely to reach the inbox.

So cleaning isn't housekeeping. It decides whether the good part of your list ever sees your message.

Want to see how dirty your list is before reading further? Paste a sample below. It runs the same checks as the full process, live, and shows what cleaning would remove.

List x-ray · paste up to 500 emails

The cleaning process, step by step

  1. 1Remove duplicatesSame address twice = double sends and double complaints.
  2. 2Fix format and typosBroken syntax out; gmial.com becomes gmail.com.
  3. 3Drop dead domainsNo domain, no mail server, or a Null MX.
  4. 4Drop throwaway inboxesMailinator, Yopmail and 10,000+ more.
  5. 5Decide on team inboxesinfo@, sales@, support@.
  6. 6Decide on personal inboxesGmail or Yahoo on a B2B list.
  7. 7Separate catch-allsCan't be confirmed; send them separately.
  8. 8Apply suppressionPast bounces, unsubscribes, complaints.
Run the steps in this order: cheap, certain checks first, judgment calls last.

1. Remove duplicates

Merge lists from different sources and you will have the same person twice, often with different capitalisation (Jane@Acme.com and jane@acme.com are the same mailbox). Lowercase and trim every address, then dedupe. Sending twice doubles the chance of a spam complaint for zero extra replies.

2. Fix the format and the typos

Remove anything that isn't a real address: missing @, spaces, two addresses pasted into one cell, trailing dots. Then fix typos of the big providers: gmial.com, hotmial.com, outlok.com, yahooo.com, .con endings. On forms and event lists this step alone rescues real people.

3. Drop dead domains

Look up each domain's MX records. If the domain doesn't exist, has no mail server, or publishes a "Null MX" (which means "we accept no email"), every address on it will hard bounce. On older B2B lists this is where the biggest chunk of bad addresses sits: companies that closed, rebranded or got acquired. Our guide on how to check if an email is valid shows the lookup by hand.

Check any domain from your list right here:

Mail server (MX) lookup

4. Drop throwaway inboxes

Temporary inboxes from services like Mailinator or 10MinuteMail exist for a few minutes and then they're gone. They come from lead magnets, free trials and gated content. Check every domain against a disposable-domain list; the community-kept one has more than 10,000 entries.

5 and 6. Decide on team and personal inboxes

These are judgment calls, not errors. info@ and sales@ exist but rarely reply and draw more complaints. A Gmail address on a B2B list may be the founder's real inbox, or an old one they never check. For cold outreach, most teams drop team inboxes and review personal ones. For a newsletter people subscribed to, keep both.

7. Separate catch-all addresses

Catch-all domains accept mail for any address, so you can't confirm the mailbox in advance. Don't delete them, and don't mix them in either: send them as their own smaller batch and watch the bounce rate. More on this in our catch-all email guide.

8. Apply your suppression list

Anyone who hard bounced, unsubscribed or marked you as spam before must never be re-imported. Keep one suppression list across every tool and campaign, and check new lists against it before upload. Re-mailing someone who unsubscribed is both a deliverability problem and, in most places, a legal one.

What cleaning removes on a typical list

Here is how the steps play out on an example of 10,000 scraped B2B leads. Your numbers will differ, but the shape is typical: a few big cuts early, then smaller decisions.

10,000raw rows
9,420after dedupe
−580 duplicates
9,310valid format, typos fixed
−110 broken
8,790domain has a mail server
−520 dead domains
8,760no throwaway inboxes
−30 disposable
8,350people, not team inboxes
−410 info@ / sales@
7,420ready to send (catch-alls split off)
−930 catch-all → own batch
Example: 10,000 B2B leads pulled from several sources. Illustrative numbers.

Cold lists vs newsletter lists

The steps above apply to both, but the emphasis is different, and mixing up the two approaches is a common mistake.

Cold outreach list
  • Nobody opted in: providers forgive less
  • Clean right before every upload, not once
  • Verification is the main tool
  • Drop team inboxes; review personal ones
  • Target: under 2% bounces
Newsletter / subscriber list
  • People opted in, so addresses start valid
  • Clean every 3 to 6 months, and after any bounce spike
  • Engagement is the main tool: prune long-term inactives
  • Keep personal inboxes; they are your readers
  • Target: low bounces and rising engagement
Key pointDon't prune newsletter subscribers on opens alone. Apple's Mail Privacy Protection loads images for many Apple Mail users, which can mark emails as "opened" even when nobody read them. Clicks, replies and purchases are better signals of who is really there.

How often to clean

ListWhen
Cold outreachRight before every upload. A list verified three months ago has already decayed.
NewsletterEvery 3 to 6 months, plus before any big send to an old segment.
Event or webinar signupsBefore the first follow-up: forms collect typos and throwaways.
After a bounce spikeImmediately. Pause, clean the rest of the list, then resume.
Bought or merged listsBefore anything else touches them.

Cleaning inside your email platform

Most email platforms handle part of this automatically. Mailchimp, for example, marks hard-bounced contacts as "cleaned" and stops sending to them, and Klaviyo suppresses bounced profiles. What platforms don't do is check a list before you import it, and that's when the damage happens: the first send to a dirty list is the one that bounces. Clean first, then import.

Free cleaning vs paid cleaning

Steps 1 to 6 and the catch-all split are things a free tool can do well, because they rely on public DNS and known lists. Paid services add a server-side mailbox check (the SMTP probe), which can confirm individual mailboxes on domains that answer honestly.

Fresh list from a good source, mostly company domainsFree clean is enough
Old list (6+ months) or pattern-guessed emailsFree clean, then a paid mailbox check on the survivors
Free clean shows over 5% undeliverableFix the source before paying to verify it
Newsletter list with opt-inFree clean + engagement pruning
Do you need a paid mailbox check?
How old is the list?
Where did the emails come from?
After the free clean, how much was undeliverable?
How important is this campaign?
Answer 4 more

Our free email verifier does steps 1 to 7 on up to 25,000 emails per run, with no signup. Drop in your CSV and it keeps all your columns, adds a status and a reason to each row, and lets you download only the rows worth sending. It runs in your browser, so the list itself is never uploaded.

Clean your list in the browser: dedupe, typos, dead domains, throwaways, team inboxes.

Clean a list free

Already sent? Check the damage

If a list went out before it was cleaned, put your numbers in. Anything over 2% means clean the rest of that list before the next send.

Cold email bounce rate calculator
4.5%
Fix now3 to 5%. Inbox providers notice this. Stop adding new leads from this source until it's cleaned. Hard bounces alone: 3.5%. You'd need about 1,250 more clean sends with zero bounces to pull the total under 2%.
0%2%3%5%10%+

A clean list is still not a good list

Cleaning removes addresses that can't or shouldn't receive your email. It doesn't make the rest want it. For cold outreach, the biggest lever after cleaning is relevance: sending to people with a real reason to care right now. Clean lists of the wrong people still get ignored, and ignored mail slowly hurts deliverability too.

Once the list is clean, check the message: run your copy through the spam word checker and keep an eye on your bounce rate after every send.

Frequently asked questions

What is email list cleaning?
Removing addresses that will bounce, never read your email, or hurt your sender reputation before you send: duplicates, broken formats, typos, dead domains, domains without mail servers, throwaway inboxes, and (depending on the list) team inboxes, personal inboxes and long-term inactive subscribers.
How often should I clean my email list?
Cold outreach lists: right before every upload. Newsletter lists: every 3 to 6 months, plus before any big send to an old segment and immediately after a bounce spike.
Can I clean my email list for free?
Yes. Deduping, format and typo fixes, dead-domain and mail-server checks, throwaway detection and team-inbox flags all rely on public data, and free tools like the Koldemails email verifier do them on up to 25,000 emails per run. Paid services add a server-side mailbox check.
Should I remove role-based emails like info@?
For cold outreach, usually yes: they rarely reply and draw more complaints. For a newsletter people subscribed to, keep them.
Does cleaning my list improve deliverability?
Yes. Fewer hard bounces and less mail to dead or throwaway inboxes means inbox providers see you as a careful sender, so more of your mail reaches the inbox, including mail to your good addresses.