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.
See also: Choosing where to send from? Compare email marketing tools for small businesses.
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
The more often you send, the faster you notice problems, and the more it costs you when you don't. Use this as a starting point:
| How often you send | Light tidy-up | Full cleaning |
|---|---|---|
| Weekly or more | Every month: remove hard bounces and unsubscribes, fix obvious typos | Every 3 months |
| Every two weeks or monthly | Before each send: remove bounces and unsubscribes | Every 6 months |
| A few times a year | Before each send | Before every send, because more time has passed for addresses to die |
| Rarely, or restarting after a long break | Not enough on its own | Always before the first send back |
These are sensible habits, not industry rules. If your bounce reports stay clean, you can stretch the gap. Clean sooner for lists you were given, inherited or collected at events, and always clean before these moments, whatever the calendar says:
- Before importing into a new email platform. See cleaning a list before you switch.
- Before your biggest campaign of the year, such as a holiday sale or launch.
- After merging lists, which creates duplicates and can bring back unsubscribes. See merging contact lists.
- After a burst of new signups you can't explain. Sudden spikes are often bots. See stopping fake signups.
Signs your list needs cleaning now
- Bounces are going up in your email service's reports.
- Opens and clicks keep drifting down, campaign after campaign.
- Replies say "I never signed up", or spam complaints appear.
- Customers say they found you in spam.
- Your email service sent you a warning about bounces or complaints.
- You haven't emailed the list in months. The longer the gap, the more addresses have quietly died.
Goal: keep bounces at or under about 2%, and spam complaints under 0.1% (Gmail's guidance; never let them reach 0.3%).
Just starting a list? Read what a mailing list is and how opt-in and unsubscribe work.
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.
- Is it bad to clean my list too often?
- No, it won't hurt your sending. The only cost is your time and the price of checking. If bounces and complaints stay low between cleanings, you can space them out further.
- Does my email platform clean my list automatically?
- Most platforms stop sending to addresses that hard-bounce and to people who unsubscribe, but that only catches problems after you send. They usually don't fix typos, merge duplicates across exports or check old imports before your first send.
- 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.