How to clean an email list, step by step
Email lists go bad on their own. ZeroBounce found that at least 28% of email data decays in a year as people change jobs and close accounts. Cleaning keeps your bounces and complaints low.
Export the list, remove duplicates and typos, take out past hard bounces and unsubscribes, run the list through an email verifier, delete invalid, disposable and spam-trap results, test catch-all and role addresses in small batches, and run a re-engagement email to inactive subscribers before removing the ones who do not respond.
Free tool: check an address or a list right now with the EmailNa email checker. It catches typos, throwaway domains and domains with no mail server.
Step 1: Export your list
Download your contacts as a CSV from your email platform or CRM. Keep a backup copy before you change anything.
Step 2: Remove duplicates and fix typos
Sort by email and remove repeats. Then look at the domains: gmial.com, hotmial.com and yaho.com are fixable typos, not lost contacts. A good verifier finds and suggests these fixes for you.
Step 3: Remove old bounces and unsubscribes
Anyone who hard-bounced before will bounce again. Anyone who unsubscribed must stay off your list: US law (CAN-SPAM) requires you to honor opt-outs within 10 business days, and Gmail and Yahoo expect unsubscribes processed within about 2 days.
Step 4: Verify every address
Run the list through an email verifier. It checks the format, the domain's mail server, and whether the mailbox exists, without sending anything. See how checking works and how the main tools compare.
Step 5: Delete the bad results
Remove everything marked invalid, disposable or spam trap. These will bounce, disappear, or damage your reputation.
Step 6: Handle the gray areas
- Catch-all: the server accepts everything, so the person cannot be confirmed. Send in small batches and watch bounces.
- Role addresses (info@, sales@): fine for B2B replies, riskier for marketing.
- Unknown: re-check in a few hours or days.
More detail: what each status means.
Step 7: Re-engage or remove inactive subscribers
People who have not opened or clicked in months hurt your engagement. Spamhaus recommends a "sunset policy": remove addresses that have stopped engaging. A common approach is to send one "Do you still want these emails?" message to people inactive for 6 to 12 months, then remove anyone who does not respond. Old, abandoned addresses can be turned into spam traps by mailbox providers, which is another reason to let them go.
How often to clean
- Before any big send to a list you have not mailed in 3 months or more.
- Every 3 to 6 months for an active newsletter.
- Always for lists you were given, inherited or collected at events.
Goal: keep bounces at or under about 2%, and spam complaints under 0.1% (Gmail's guidance; never let them reach 0.3%).
Questions people ask
- What is list scrubbing?
- Another name for list cleaning: removing bad, risky and inactive addresses so you only send to people who can and want to receive your email.
- Will cleaning my list lower my numbers?
- Yes, and that is the point. A smaller list with fewer bounces and complaints reaches more inboxes than a big, dirty one.
- Can I clean my list for free?
- You can do steps 1 to 3 and 7 yourself for free. Mailbox verification (step 4) usually costs a few dollars per thousand after free trial credits.