How do I clean an email list for free?
Export your contacts as CSV, drop the file above, and download the import file. Pasting a column from Excel or Google Sheets works the same way.
- Export. In Mailchimp, Klaviyo or Constant Contact, export the audience or list as CSV. From Excel, use File > Save As > CSV.
- Drop or paste. The tool finds the email column and cleans every row in your browser.
- Review. Start with “Needs a look”: bad, duplicate, risky and fixed rows, each with the reason.
- Download. The import file keeps only good and fixed addresses, with your other columns intact. The full report lists every row.
There is no row limit. A list with many different business domains takes longer, since each domain is looked up once.
How does it decide good, fixed, risky or bad?
Each address goes through the same checks in order, and the worst result wins.
- Bad: no @, two @ signs, spaces, wrong dots, more than 64 characters before the @, or over 254 in all. Also bad: a domain that does not exist, or one that publishes a “null MX” saying it takes no mail.
- Duplicate: the same address as an earlier row, ignoring capitals.
- Risky: a role address Mailchimp blocks on import, a throwaway inbox domain, or a domain with no MX record.
- Fixed: a typo domain corrected, or extra characters removed (angle brackets, a trailing dot, a second address in the cell).
- Good: everything else.
Example: “DAVE.CHEN@Yahoo.com“ and “dave.chen@yahoo.com“ are one contact. The second is marked Duplicate and left out of the import file.
A domain with no MX record can still take mail at its main address, so it is marked risky rather than bad. Only a real send shows whether the mailbox exists.
How do I clean my email list before importing to Mailchimp?
Remove role addresses, extra characters and duplicates first, because Mailchimp rejects or flags them during the import.
- Role addresses. Mailchimp blocks 35 role-based addresses on import, such as admin@, billing@, noreply@, support@ and webmaster@. They can still join through your signup form.
- Clean formatting. Missing parts, unsupported characters and spaces before or after the address cause syntax errors.
- Accents. Mailchimp accepts accented letters only after the @.
- One address per contact. A cell with two addresses keeps the first. The full report shows which ones.
- Column names. Column order does not matter. You match each column to a field during the import.
Example: a 1,200-row export with 40 support@ and noreply@ rows, 25 duplicates and 12 typo domains imports as 1,135 rows, with the 12 typos fixed instead of lost.
How does the email typo checker fix domains?
It compares each domain with the big consumer providers. When the first letter matches and the rest is one slip away, or two on a longer name, it fixes it. A slip is one letter wrong, missing, extra or swapped.
- gmial.com to gmail.com
- hotmial.com to hotmail.com
- yahoo.co to yahoo.com
- outlook.con to outlook.com
- gmail (no ending) to gmail.com
Endings like .con, .cmo and .comm become .com, and .ner becomes .net. Any other domain stays as typed, so yourcompany.com is left alone. Untick the typo box to see the list without fixes.
Example: jen.park@gmial.com comes back as jen.park@gmail.com, marked Fixed, with “gmial.com to gmail.com” in the reason column.
What should I do with risky and bad addresses?
Delete the bad ones and review the risky ones by hand.
- Bad: no mail can reach them. Fix the address with the customer or remove it.
- Role addresses: Mailchimp blocks them on import, so add them one at a time only with the owner’s express permission.
- Throwaway domains: inboxes like mailinator.com are made for one-time use. Remove them unless you know the person.
- No MX record: mail may still reach the domain’s main server. Keep it if the customer is active.
To merge the same customers across QuickBooks, your CRM and your email tool, use the HubSpot duplicate contact finder for the CRM side, or see how we handle cleanups and bulk changes.
Questions
Is my list uploaded anywhere?
Your list stays in your browser. Only the domain names (the part after the @) are sent to Cloudflare public DNS, with Google public DNS as a backup, to look for mail servers.
Does it check whether each mailbox exists?
It checks the address format and the domain mail server. Whether a given mailbox exists shows up only when you send to it.
Is there a limit on list size?
There is no cap and no sign-up. Lists with many different business domains take longer, since each domain is looked up once.
Can I use an Excel file?
Save the sheet as CSV and drop it in. Or select the cells in Excel or Google Sheets, copy, and paste them into the box.
Where does the throwaway domain list come from?
It uses well-known domains from the open disposable-email-domains blocklist, checked on 7 November 2026. Some listed domains may no longer be throwaway, so review before deleting.
Sources
- Format guidelines for your import file, Mailchimp,
- Limits on role-based addresses, Mailchimp,
- RFC 5321: Simple Mail Transfer Protocol (sections 4.5.3.1 and 5.1), IETF,
- RFC 7505: A “Null MX” No Service Resource Record, IETF,
- Using JSON (DNS over HTTPS), Cloudflare,
- disposable-email-domains blocklist (CC0), disposable-email-domains on GitHub,
