Email list health check
In short: Upload a CSV or paste emails for a list quality score: duplicates, bad syntax, typo domains, disposable and role addresses, dead domains and the free vs business split, in your browser. Limit: It does not check whether a mailbox exists. A former employee's address on a working domain passes here and still hard-bounces.
An email list health check finds the problems you can detect without contacting a mail server. Drop in a CSV of up to 5,000 rows and this tool flags duplicates, invalid syntax, misspelled domains, disposable and role addresses, and dead domains, then gives the list a quality score out of 100 with a free versus business split, in your browser and free. It does not check whether mailboxes exist.
Drop a CSV here, or
CSV or plain text, up to 5,000 rows
Your list is processed in your browser. Only the domain names (the part after the @) are sent to our server for the disposable and MX checks, and they are not stored.
Every address left in your cleaned list still need a mailbox check.
This tool removed what can be found without contacting a mail server. Whether each remaining mailbox actually exists can only be answered by asking the server that hosts it — an SMTP check — and that is what the paid plan does.
- Upload the cleaned file as it is — CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Valid, risky and invalid exported as separate files
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.
Sample result
2 of 6 rows in this list have problems: one typo domain (gmial.com) and one dead domain.
- List health
- 2 of 6 rows
- Typo domains
- 1 (gmial.com)
- Dead domains
- 1
What this means for you
Fix or drop those rows first; the other 4 still need a mailbox check before you send.
- Up to 5,000 rows, checked in your browser
- Flags bad syntax, duplicates and typo domains
- MX lookup with an A record fallback
- Download a cleaned list and the problem rows
- MX
- Disposable
- CSV
By SimpleVerifier Team · Last updated · Addresses stay in your browser; only domain names are sent for DNS lookups
How does the email list health check work?
It reads and checks your file in the browser and sends only the domain names to our server, in four stages:
- Your file is parsed in the browser. The email column is picked automatically from the content, and you can change it if the guess is wrong. Quoted fields, semicolon or tab separators and Excel’s byte-order mark are all handled.
- Text checks run locally. Syntax, exact duplicates (ignoring case), Gmail duplicates that differ only by dots or a +tag, role prefixes such as postmaster@ and noreply@, and common misspellings like gmial.com, each with the corrected address suggested.
- Only domains go to the server. Each unique domain is checked against 9,913 known disposable providers and looked up in DNS for an MX record, a null MX, or an A record to fall back on. No mail server is contacted and nothing is stored.
- You download two files. A cleaned CSV with every problem row removed and your original columns intact, and a CSV of the problem rows with the reason for each, so nothing disappears without explanation.
What does the list quality score measure?
The score is the share of rows that pass every check above, rounded to a whole number out of 100. It is deliberately simple so you can reproduce it: if 12 rows in a made-up list of 80 are duplicates, typos or dead domains, the score is 85. At 90 or more the list is ready for a mailbox check; from 75 to 89, fix the flagged rows first; below 75, something upstream (a scraped source, an old export) is worth looking at before you clean row by row.
Beside the score you get the free versus business split of the rows that passed, and every problem row stays in the table with its reason, so you can see exactly what pulled the number down. Paste a handful of addresses for a quick read or drop the whole file; both run the same checks and neither opens an SMTP connection.
Does a clean list mean every address will deliver?
No. Every row left in your cleaned file has correct syntax and a domain that can receive mail, but that says nothing about whether the mailbox itself exists. A person who left the company last year has a perfectly formed address on a perfectly working domain, and it will hard-bounce. The only way to find out is to ask the receiving mail server, which is an SMTP check, and this tool deliberately never does that.
For the full sequence, from suppression lists through to bounce handling, see how to clean an email list. To do the same steps in a spreadsheet or a short script, see how to remove invalid and duplicate emails from a CSV. To check a single domain by hand, use the disposable email checker.
How do I check the health of an email list?
- Drop a CSV onto the tool or choose the file. The free tool reads up to 5,000 rows.
- Confirm the email column. It is picked from the content, and you can change it if the guess is wrong.
- Review the problem counts: invalid syntax, duplicates (including Gmail dot and +tag duplicates), typo domains, dead domains, disposable addresses and role addresses.
- Choose whether business role addresses such as
info@andsales@should go too (operational ones likepostmaster@andnoreply@are removed either way). Then download the cleaned CSV and the problem rows, each with its reason.
Example
- You enter
- A 6-row CSV with addresses at acme.example, acme-mail.example and yourcompany.example, plus one address at
gmial.com. - You get
- 2 of the 6 rows are flagged:
gmial.comas a typo domain and acme-mail.example as a dead domain with no MX record. The other 4 pass and still need a mailbox check before you send. - Limits
- Reads up to 5,000 rows per file; only the domains are sent for MX and disposable lookups, and no mail server is contacted.
Can I check an email list in Excel instead?
Partly. A spreadsheet can find exact duplicates; the rest needs DNS lookups or lists that Excel does not have:
| Check | This tool | Excel or Google Sheets |
|---|---|---|
| Exact duplicates | Yes, ignoring case | Yes, with Remove duplicates or a COUNTIF formula |
| Gmail dot and +tag duplicates | Yes | Only with a long custom formula |
| Invalid syntax | Yes | Rough, with a formula |
Typo domains (gmial.com) | Yes, with a suggested fix | By eye |
| Domains that cannot receive mail | Yes, MX and null MX lookup | Not possible |
| Disposable domains | Yes | Only if you import a list and match against it |
To flag duplicates in a sheet: =COUNTIF(A:A,A2)>1 in a helper column, filled down.
Who uses this tool, and for what?
- Marketers
- Check an old newsletter export before re-mailing it. Dead domains and typo domains are the rows most likely to hard-bounce on the first send. See how to clean an email list.
- Cold emailers
- Clean a scraped or purchased lead file before paying to verify it, so you are not verifying duplicates and addresses at domains with no mail server.
- Agencies
- Show a client what is wrong with their list in a few seconds, with the problem rows and reasons as a file you can send them.
- Sales ops
- Tidy a CRM export before an import: remove duplicates and role addresses so each contact maps to one person. For phone columns, use remove duplicate phone numbers.
What can’t this tool tell you?
- It does not check whether a mailbox exists. A former employee's address on a working domain passes here and still hard-bounces.
- The free tool reads the first 5,000 rows. Rows past that are not checked.
- Typo detection covers common misspellings of the big webmail domains and some TLDs, not every possible typo.
- It cannot detect spam traps. A trap looks like any other well-formed address.
- Role addresses are flagged, not judged.
sales@can be a perfectly good contact, which is why business roles are optional.
Sources
Common questions
- Does this tool check whether email addresses exist?
- No. It finds the problems that can be detected without contacting a mail server: bad syntax, duplicates, misspelled domains, disposable providers, role addresses and domains that cannot receive mail. Whether a specific mailbox exists can only be answered by the server that hosts it, through an SMTP check, which this free tool never performs.
- Is my email list uploaded to your server?
- No. The file is read and checked in your browser. The only thing sent to our server is the list of unique domain names, such as gmail.com or yourcompany.com, so we can look up MX records and compare them against the disposable list. Full addresses never leave your device, and the domains are not stored.
- What counts as a dead domain?
- A domain with no mail server at all (no MX record and no A record to fall back on), a domain that does not exist, or one that publishes a null MX record, which is an explicit statement that it accepts no mail. A domain that only has an A record still counts as able to receive, because mail servers fall back to it.
- Why does Gmail count dotted addresses as duplicates?
- Gmail ignores dots in the part before the @ and anything after a plus sign, and googlemail.com delivers to the same inbox. So [email protected] and [email protected] reach one person. Sending to both means that person gets your email twice, which is a common route to a spam complaint.
- What is a role address, and should I remove it?
- A role address belongs to a function rather than a person, such as postmaster@, noreply@ or sales@. Operational ones like postmaster@ and noreply@ are removed automatically because they are not meant to receive marketing; business ones like info@ and sales@ are optional, because they often reach a real team.
- How is the list quality score calculated?
- It is the percentage of rows that pass every check this page runs: not invalid, not a duplicate, not a likely typo, not on a dead or disposable domain, and not an operations role address such as postmaster@. A list of 200 rows where 30 fail scores 85. Business role addresses like info@ count as passing unless you choose to remove them.
- Why does a high score not mean the list will deliver?
- Because the score never asks a mail server anything. An address can have perfect syntax on a domain with working MX records and still belong to someone who left the company, so it hard-bounces. Treat the score as the best the list can do; the mailbox check on the paid plan finds the dead addresses hidden inside it.
- What does the free versus business split tell me?
- Of the rows that passed, it counts how many sit on consumer webmail or internet-provider domains (gmail.com, outlook.com, comcast.net and similar) and how many on a domain a company owns. For B2B outreach a list that is mostly free mail usually means the addresses were collected from personal sign-ups rather than work contacts.
- How often should I check my email list?
- Before any send to a list that has not been mailed for a while, and every time you import addresses from a new source. Lists decay as people change jobs and abandon inboxes, so a file that was clean when you built it is not clean forever.
When the cleaned file is ready for mailbox verification, see pricing for what SimpleVerifier checks and the published limits.