Free Email Verifier

How to find invalid emails in a list

· 4 min read

To find invalid emails in a list, run each address through three checks: syntax validation to catch typos and bad formatting, MX-record lookups to spot dead domains, and SMTP mailbox probes to confirm the inbox exists. Sort the results into deliverable, risky, invalid, and unknown, then remove the invalid group.

What counts as an invalid email address?

An invalid email cannot receive mail. That covers broken syntax (a missing @, stray spaces, illegal characters), domains with no mail server, and addresses whose mailbox does not exist on a live server. Invalid is different from risky. A catch-all or role address may still deliver, so it belongs in a separate bucket, not the delete pile.

Bounces come in two flavors. A hard bounce is permanent: the mailbox or the domain does not exist, so mail can never land. A soft bounce is temporary, like a full inbox or a server timeout. Invalid addresses cause hard bounces, and mailbox providers watch your hard bounce rate closely. Keep it under 2% and inbox placement stays healthy. Push past 5% and Gmail, Outlook, and Yahoo start throttling you or routing everything to spam, including the messages to your real customers.

The three-layer check that catches bad addresses

Finding invalid emails in a list is not one test. It is three, run in order from cheapest to most expensive. Each layer strips a chunk off the list so the next layer has less work to do. Filter the easy failures first, then spend real time only on the addresses that survive.

LayerWhat it catchesSpeed and cost
Syntax scanMissing @, spaces, illegal characters, obvious typos, disposable domains, duplicatesInstant, no network call
MX lookupDomains with no mail server (dead, parked, or expired)Fast DNS query
SMTP probeMailboxes that do not exist on a live, reachable serverSlower, one connection per address

The order matters. There is no point pinging a mail server for an address with a typo in the domain, or for a duplicate you already cleared. A clean pipeline removes syntax junk and dead domains for free, then reserves the slow SMTP step for the addresses that genuinely need a server to answer.

How to find invalid emails in a list without writing code

You do not need a script or a paid API for this. The workflow below runs on a plain CSV export from any CRM or email platform.

  1. Export your list to a CSV, or copy the addresses into a single column. One address per row.
  2. Remove obvious duplicates and trim whitespace. Duplicates waste checks and inflate your counts.
  3. Run a syntax and disposable-domain scan. This catches malformed addresses and throwaway domains instantly, before any network call.
  4. Verify MX records on the survivors. An address on a domain with no mail server can never receive mail, so mark it invalid.
  5. Run SMTP mailbox checks on what remains. This asks the receiving server whether the specific inbox exists, without sending a real message.
  6. Sort by verdict and export two files: one clean list to send to, and one invalid list to suppress or delete.

The Free Email Verifier runs all three layers for you. Paste your addresses or drop a CSV, and the file is parsed in your browser and never uploaded. The local safety scan clears syntax errors, duplicates, and disposable domains first without touching your daily quota, so your checks go only to the addresses that need a real server lookup. You get typo suggestions too, which turns some near-misses back into valid sends.

Check your list right now, free

10 checks a day with no signup. 100 a day with just your email.

Verify emails free

Invalid vs risky vs unknown: how to read your verdicts

A good verifier does not just say yes or no. It sorts each address into a verdict so you know what to keep, what to drop, and what to hold for later.

VerdictWhat it meansWhat to do
DeliverableValid syntax, domain accepts mail, mailbox existsSend with confidence
RiskyCatch-all domain, role address (info@, sales@), or disposableSend selectively or hold for warm segments
InvalidBad syntax, dead domain, or mailbox does not existRemove and suppress
UnknownServer would not confirm (greylisting or timeout)Re-check later, do not bulk send yet

Only the invalid group is safe to delete outright. Risky addresses can still convert, especially role accounts at small companies where one inbox covers the whole team. Unknown usually means the server threw a temporary block, so re-run those in a day or two before you decide. Deleting unknowns on the first pass throws away good contacts.

What to do once you have separated the invalids

Suppress the invalid list, do not just remove it from view. Add those addresses to a permanent suppression file so they never sneak back in through a future import. Keep the export as CSV or JSON for your records. Then send to the deliverable group, and treat the risky group as its own segment with a lighter, more careful cadence. If you run cold outreach, warm the sending domain slowly and watch your bounce rate on the first few batches. A clean list only helps if you protect it after the cleanup.

How often should you re-check your list?

Re-verify any list before every major send, and clean your full database every 90 days. Email decays fast. Roughly 2% to 3% of a B2B list goes bad each month as people change jobs and domains lapse. A list that was clean in January will carry dead addresses by April, so treat verification as maintenance, not a one-time fix.

Build verification into the flow, not just the cleanup. Verify new signups in real time at the point of capture so bad addresses never enter your database. Verify imported or purchased lists in bulk before the first send. Do both and your hard bounce rate stays low, your sender reputation holds, and more of your real messages reach the inbox instead of the spam folder.