To clean an email list, export it to CSV, remove duplicates, fix or delete addresses with broken syntax, strip disposable and role accounts, then verify the rest with an email verification tool. Keep the deliverable addresses, quarantine the risky ones, and re-import the clean file. Done regularly, this keeps bounce rates under 2%.
Why clean an email list before you send?
Dirty lists get you blocked. Mailbox providers track your bounce rate, spam complaints, and engagement. When more than about 2% of your sends bounce, filters start routing your mail to spam, and some providers throttle or block you outright. Cleaning removes the addresses that cause those bounces before they count against your sender reputation.
The math is simple. Lists decay. People change jobs, abandon old inboxes, and companies retire domains. Industry estimates put decay at 20 to 30 percent per year, which means a list you built eighteen months ago could be a third dead. Every dead address you mail costs you twice: once in wasted sends, and again in reputation damage when it bounces. Worse, some long-dead addresses get recycled into spam traps. Hit enough of those and you land on blocklists that take weeks to escape. Cleaning is not busywork. It is the cheapest deliverability insurance you can buy.
The seven steps at a glance
- Export a fresh copy of your list to CSV and keep the original as a backup
- Remove duplicates so each address appears exactly once
- Scrub syntax errors: missing @ signs, stray spaces, typo domains like gmial.com
- Remove disposable addresses and decide what to do with role accounts like info@ and sales@
- Verify deliverability with MX-record and SMTP-level mailbox checks
- Segment the risky results instead of deleting them or blasting them
- Re-import the clean list and suppress everything you removed
Steps 1 through 4 are pure hygiene and cost nothing: any spreadsheet can handle most of the work. Step 5 is the only part that needs a verification service, because you cannot tell whether a mailbox exists just by looking at the address. Steps 6 and 7 are where most people get sloppy, and they matter as much as the verification itself.
Steps 1 to 3: export, dedupe, and fix what a spreadsheet can catch
Step 1: export a fresh copy
Export your full list from your email platform as a CSV. Include the subscription date and the last engagement date if your platform offers them, because you will want both when you segment later. Save an untouched copy of this export somewhere safe before you change anything. This is your rollback point. If a formula mangles a column or you delete the wrong segment, you restore from the backup instead of explaining to your team why 4,000 subscribers vanished. Work on a copy from here on.
Step 2: remove duplicates
Duplicates creep in through multiple signup forms, imports from different tools, and CRM merges. They inflate your subscriber count, skew your open rates, and annoy anyone who receives the same campaign twice. In Google Sheets, select the email column and use Data, then Data cleanup, then Remove duplicates. In Excel, the same function lives on the Data tab. One catch: normalize case first, because [email protected] and [email protected] are the same mailbox to almost every provider. Lowercase the whole column before you dedupe, or duplicates will slip through.
Step 3: scrub bad syntax and fix typo domains
Now hunt for addresses that could never work: missing @ signs, spaces in the middle, commas instead of periods, and trailing junk pasted in from an email client. A simple filter catches most of them. Sort the column alphabetically and eyeball the top and bottom, where malformed entries cluster. Then look for the classic typo domains: gmial.com, gamil.com, hotnail.com, yaho.com. These are real people who fat-fingered a signup form, so fix the obvious ones rather than deleting them. A corrected typo is a recovered subscriber, and recovering one costs far less than acquiring a new one.
Step 4: remove disposable and role addresses
Disposable addresses come from throwaway inbox services that people use to grab a lead magnet without handing over a real contact. They will never open a second email, and mailbox providers score those domains poorly. Strip them without hesitation. Detection is mostly a matter of matching against a maintained domain blocklist, which is tedious to do by hand because new disposable domains appear weekly. Most verifiers handle it automatically. Free Email Verifier flags known disposable domains during a local scan that runs entirely in your browser, so they never even reach the server-side check.
Role addresses like info@, sales@, billing@, and support@ point to a function, not a person. Several people may read them, or nobody. Engagement runs low and complaint risk runs high, because the person reading a shared inbox never subscribed personally. For consumer lists, cut them. For B2B lists, apply judgment: keep a role address if it was explicitly given to you as a contact point, and drop the ones you scraped or guessed. Anti-spam laws in several regions also treat mail to unsolicited role accounts less kindly, which is one more reason to be conservative here.
Step 5: verify deliverability
Syntax scrubbing catches addresses that cannot work. Verification catches addresses that do not work, which is the bigger and more dangerous group. An address can be perfectly formatted and completely dead. A verifier checks the domain's MX records to confirm it can receive mail at all, then talks to the mail server over SMTP to ask whether the specific mailbox exists, all without sending an actual email. This is the step you cannot do by hand, and it is where the bounces actually get caught.
You do not need a paid plan for this. Free Email Verifier gives you 10 verifications a day with no signup, and 100 a day after entering just an email address. No password, no credit card. If you drop in a CSV, the file is parsed entirely in your browser and never uploaded, and the local safety scan handles duplicates, syntax errors, and disposables without spending your daily quota, so the server-side checks go only to addresses that need them.
Check your list right now, free
10 checks a day with no signup. 100 a day with just your email.
| Result | What it means | What to do |
|---|---|---|
| Deliverable (green) | The mailbox exists and accepts mail | Keep it and send normally |
| Risky (amber) | Catch-all domain, role account, or disposable | Segment it and send cautiously |
| Invalid (red) | The mailbox does not exist or the domain cannot receive mail | Delete and suppress immediately |
| Unknown (gray) | The server would not confirm either way | Re-verify later or treat as risky |
However you run the check, results land in these four buckets. Deliverable addresses go straight back into your active list. Invalid ones get deleted, no exceptions, because a hard bounce hurts more than a lost contact helps. The interesting decisions live in the middle. Risky covers catch-all domains that accept mail for any address, role accounts, and disposables that slipped past the earlier pass. Unknown means the server refused to give a clear answer, which happens with aggressive greylisting. Neither is a verdict. Both are a signal to slow down.
Steps 6 and 7: segment the risky ones, then re-import
Do not delete risky addresses in bulk. A catch-all domain often hides a perfectly good mailbox behind it, especially at small companies where IT set the domain to accept everything. Split the risky and unknown results into their own segment and treat each type differently:
- Send catch-all addresses your next regular campaign, but watch them and suppress any that bounce
- Hold unknowns for a re-verification pass in a week; many resolve to a clear answer on the second try
- Keep role addresses out of marketing broadcasts unless the owner explicitly opted in
- Never mail disposable addresses; delete them along with the invalids
Upload the cleaned file back into your email platform as a new list or a replacement, depending on how your platform handles imports. Then do the step almost everyone skips: add the removed addresses to your suppression list rather than merely deleting them. Deleted addresses have a way of coming back through the next CRM sync or form integration. Suppressed addresses stay gone. Finally, spot-check the numbers. If you started with 10,000 and re-imported 7,400, you should be able to account for every one of the 2,600 you cut.
How often should you clean your email list?
Clean your email list every three to six months for a typical newsletter, monthly if you run cold outreach or add addresses quickly, and always before a large send after a pause. Lists decay by roughly 20 to 30 percent a year as people change jobs and abandon inboxes, so a single cleanup never stays clean.
Better than calendar cleaning is catching problems at the source. Turn on double opt-in so typos never enter the list. Add a verification check to high-volume signup forms. Watch your bounce rate after every campaign, and treat anything above 2% as a fire alarm, not a statistic. A clean list is not a project you finish. It is a habit that costs about one afternoon a quarter and pays for itself with the first campaign that lands in the inbox instead of the spam folder.