✳ Quick answer
Export your list, remove duplicates and junk, verify every address, and remove invalid, disposable and typo addresses. Then segment by engagement, run a short re-engagement campaign for inactive subscribers, and re-import the clean list. Repeat every 3 months.
A smaller, cleaner email list almost always beats a big, messy one. Cleaning your list lowers bounces, raises open rates, protects your sender reputation and often cuts your email platform bill, since most charge by contact count. Here's a practical process you can follow in an afternoon.
When to clean: before any campaign to a list you haven't mailed in 3+ months, after importing contacts from another system, and as routine maintenance every quarter.
Step 1: Export your list
Export your contacts as a CSV from your email platform (Mailchimp, Klaviyo, Brevo, HubSpot, Shopify customers, etc.). Include useful columns such as sign-up date, last open or click date, and source. These help with the later steps.
Step 2: Remove duplicates and obvious junk
Sort by email address and remove exact duplicates (ignoring upper/lower case). Delete entries that clearly aren't real people: test@test.com, asdf@asdf.com, your own team's test sign-ups, and anything with a space or missing @.
Gmail tip: john.smith@gmail.com, johnsmith@gmail.com and johnsmith+promo@gmail.com all reach the same inbox. See our Gmail checker for the rules.
Step 3: Verify every address
Run the list through an email verifier. It sorts each address into a clear bucket:
| Result | What to do |
|---|---|
| Valid / deliverable | Keep. |
| Invalid / undeliverable bad format, dead domain, mailbox doesn't exist, disabled | Remove. These will hard-bounce. |
| Typo e.g. gmial.com | Fix it if you're confident, otherwise remove. |
| Disposable | Remove. Temporary inboxes don't last. |
| Role address info@, sales@ | Keep for B2B if they engage, otherwise remove. |
| Catch-all / unknown | Keep, but send to them in smaller batches and watch bounces. |
Our free bulk email verifier handles format, typos, dead domains, disposable and role addresses for small lists right now. For bigger lists, create a free account and use credits. They never expire.
Step 4: Segment by engagement
Verification tells you if an address can receive mail. Engagement tells you if the person wants it. Using your platform's activity data, split subscribers into:
- Active: opened or clicked in the last 90 days.
- Cooling: no activity for 90–180 days.
- Inactive: no activity for 6+ months.
Note: Apple Mail Privacy Protection can make opens look higher than they are, so give more weight to clicks, purchases and replies.
Step 5: Run a re-engagement campaign
Before deleting inactive subscribers, send them a short, honest series of 2–3 emails over two weeks: "Do you still want to hear from us?" Offer a reason to stay (a discount, your best content) and an easy one-click way to stay subscribed. Anyone who doesn't respond gets removed or moved to a suppression list.
Inactive addresses aren't just wasted sends. Old abandoned inboxes can be turned into spam traps by mailbox providers, and hitting them damages your reputation.
Step 6: Re-import and keep it clean
Import the cleaned list back into your platform, ideally replacing the old one, and add the removed addresses to your suppression list so they aren't re-added by accident. Then prevent the mess from building up again:
- Validate emails on your sign-up and checkout forms (format, typos, disposable domains).
- Use double opt-in for newsletter sign-ups.
- Automatically remove hard bounces after every campaign.
- Repeat verification every 3 months, or before any big campaign.
What results to expect
After a proper clean, you should see bounce rates drop below 1–2%, higher open and click rates (because inactive contacts no longer drag the average down), better inbox placement over the following weeks, and a lower bill if your platform charges per contact.
Related: Why emails bounce · How to verify an email address
List health metrics to track
| Metric | Healthy | Warning sign |
|---|---|---|
| Hard bounce rate per campaign | Under 1% | Over 2% |
| Spam complaint rate | Under 0.1% | Approaching 0.3% |
| Share of contacts engaged in 90 days | Rising or stable | Falling month after month |
| Invalid share at verification | A few percent | Double digits |
| Disposable share of new sign-ups | Very low | Rising after a promotion |
Cleaning schedule by list type
| List type | How often |
|---|---|
| Weekly newsletter | Remove bounces after every send; verify inactive contacts quarterly |
| E-commerce customers | Verify before seasonal campaigns to older buyers |
| B2B leads and customers | Every 3 months; job changes make B2B lists decay fast |
| Event and webinar sign-ups | Verify on import, before the first follow-up |
Mistakes to avoid
- Deleting instead of suppressing. Deleted bad addresses come back through forms and imports.
- Removing every role address. In B2B, info@ and sales@ can be real buyers.
- Cleaning once and forgetting. Lists decay continuously.
- Re-adding unsubscribes. Keep unsubscribed contacts suppressed, even if they verify as valid.
Frequently asked questions
How often should I clean my email list?
Every three months for an active list, and always before mailing contacts you haven't emailed in three months or more.
Will cleaning my list reduce my email platform bill?
Often yes. Most email platforms charge by contact count, so removing invalid and inactive contacts lowers the bill.
Should I delete inactive subscribers?
Try a short re-engagement campaign first. Remove those who still don't open or click after it.
Can I clean an email list for free?
Yes, for duplicates, typos, broken formats, dead domains and disposable addresses. A free account on Email Verifier Tools can clean a CSV and give you a downloadable report.
Check an email address now
Free: format, typos, disposable and mail server checks. No sign-up, no card.