You can check whether an email address is real, valid, or fake in seconds - without sending anything to it. This guide shows the fastest way to verify one address or a whole list, and, just as important, how to read the result so you know what "valid", "catch-all" and "unknown" actually mean.
To verify an email address, run it through an email verifier. It checks the address syntax, confirms the domain's MX records, and probes the mailbox over SMTP to confirm it exists - all without sending a message. The result is valid, invalid, catch-all, or unknown.
Paste the address into a free verifier. It checks syntax, MX records, and probes the mailbox over SMTP - without sending an email. Try the free email verifier
You get one of four results: valid (mailbox exists), invalid (does not exist - do not send), catch-all (domain accepts everything, so it cannot be confirmed), or unknown (the server would not answer). More on these below.
Cleaning a mailing list or CRM export? Upload a CSV and get a status on every row, then download the clean list. Bulk email validation
Add a real-time verification API call to your signup form or CRM so invalid and disposable addresses never enter your database. Email validation API
Lists decay - about 19% of valid addresses go stale within 90 days. Re-verify before each major send to keep bounce rates under control.
valid
invalid
catch-all
unknown
The honest handling of catch-all and unknown results is what separates an accurate verifier from one that inflates its "valid" count by guessing. See how email verification works for the full pipeline.
Use a free single-address checker - instant, no signup for a small number of checks. Open
Upload the CSV for bulk verification and download a clean list with per-row status. Open
Call the real-time API so invalid and disposable addresses are blocked before they are saved. Open
You can run MX lookups and SMTP checks by hand, but catch-all domains, greylisting and probe blocks make this unreliable at scale. Open
Run it through an email verifier. A good verifier checks the syntax, confirms the domain has valid MX records, and probes the mailbox over SMTP to see whether it exists - all without sending an actual email. If it returns "valid", the mailbox is real and accepting mail.
Yes. SMTP verification opens a connection to the recipient's mail server and asks whether the mailbox exists (the RCPT TO step), then disconnects before any message is sent. The recipient never receives anything. This is how email verifiers check addresses safely.
A catch-all (accept-all) domain is configured to accept mail for every address, so the server says "yes" even for mailboxes that do not exist. That makes a single address unconfirmable by SMTP alone. Good verifiers flag catch-all separately and use additional signals to score the risk rather than guessing.
For domains that answer SMTP probes, a mailbox-level check is highly accurate. Accuracy drops on catch-all domains and on providers that block probes (some large ISPs), which are returned as catch-all or unknown rather than guessed. Treat "valid" and "invalid" as reliable, and handle catch-all and unknown by risk tolerance.
Verify a list before every major send, and re-verify at least quarterly. Around 19% of valid addresses go stale within 90 days as people change jobs and abandon inboxes, so a list verified months ago is no longer clean.
Syntax, MX, SMTP and ML scoring in one pipeline. 100 free verifications, no card required.
Start FreeDeep-dive guides on how email verification and inbox placement work
The 3x invalid-rate gap that vanishes when you control for domain size
How the 5-stage pipeline checks a mailbox without sending email
info@, sales@, admin@ - why role addresses bounce more and when to suppress them
What caps accuracy (catch-all, probe blocks), and how to read a 99% claim
Permanent 5xx failures vs soft bounces, safe thresholds, and how to prevent them
The RCPT TO handshake explained - codes, catch-alls, limits
Continue through related topics
Follow BounceZero