To test if an email is valid, check three things: the address is written correctly, its domain exists, and that domain has a mail server (an MX record). A free email checker does all three in a few seconds. The only way to be 100% sure a real person reads the inbox is to send an email and get a reply or a click.
That's the whole idea. The rest of this guide shows you how to do each check, what the results mean, and where people usually go wrong.
Quick version, if you're in a hurry:
- Look at the address. One @, no spaces, a real-looking domain like gmail.com, not gmial.com.
- Paste it into a free email checker. You'll get valid, risky or invalid in a second or two.
- For an important contact, send a short email and see if it bounces.
- For a sign-up form, use double opt-in, so people confirm their own address.
I'll be honest about one thing up front. Lots of tools promise to tell you whether a mailbox "really exists" without sending anything. Sometimes they can. Often they can't, because many big mail servers simply won't say. You'll see why below, and it matters more than most guides admit.
What does "valid" actually mean for an email address?
A "valid" email can mean five different things, and each one is a deeper test than the last. Most confusion comes from mixing them up.
|
Level |
What it checks |
Example that fails |
Can a free online test check it? |
|---|---|---|---|
|
1. Format (syntax) |
One @, allowed characters, a domain with a dot |
john.smith@@gmail, john smith@gmail.com |
Yes, instantly |
|
2. Domain exists |
The part after @ is a real, registered domain |
anna@gmial.com (typo of gmail.com) |
Yes |
|
3. Mail server (MX record) |
The domain is set up to receive email |
info@a-parked-domain.com |
Yes |
|
4. Mailbox exists |
That exact inbox is real on that server |
old.employee@company.com after they left |
Sometimes. Many servers hide this |
|
5. Safe to send |
Not disposable, not a role inbox, not a known trap |
user@temp-mail-site.com, info@company.com |
Partly. Lists of disposable domains help |
Here's the simple way to think about it. Levels 1 to 3 are like checking that a street address is written properly and the street actually exists. Level 4 is checking that someone lives in the house. Level 5 is asking whether you should be sending them letters at all.
An address that passes levels 1 to 3 will usually get mail delivered. An address that fails any of them will bounce for sure.
One small detail that trips up developers: the part after the @ is not case sensitive, so GMAIL.com and gmail.com are the same. The part before the @ technically can be, according to the email standard (RFC 5321, section 2.4). In practice, almost every provider treats John@ and john@ as the same inbox, but you shouldn't change what people type.
5 ways to check if an email is valid
The right method depends on how many addresses you have and how sure you need to be. Here's how they compare.
|
Method |
Best for |
Time per address |
Cost |
How sure you can be |
|---|---|---|---|---|
|
1. Free online email checker |
One address or a list up to a few hundred |
1 to 2 seconds |
Free |
High for levels 1 to 3 |
|
2. Manual MX lookup |
Checking a domain yourself |
About 1 minute |
Free |
Domain and mail server only |
|
3. Send a test email |
One important contact |
Minutes to hours |
Free |
Very high if no bounce |
|
4. SMTP mailbox check |
Developers, paid tools |
A few seconds |
Free to paid |
Mixed. Many servers hide the answer |
|
5. Double opt-in |
Sign-up forms and newsletters |
Done by the user |
Free |
Highest. The person proves it |
1. Use a free email checker (fastest)
This is what most people need. Paste the address into our free email checker and it checks the format, looks up the domain's mail server, and flags disposable addresses, role inboxes like info@ and common typos like hotmial.com. You can also paste up to 500 addresses at once and download only the valid ones as a CSV.
It doesn't ask for a sign-up, and it doesn't store the addresses you check. That's worth looking for in any tool, by the way. If a "free" checker wants your email before it shows results, ask yourself what they do with the lists people upload.
2. Do a manual MX lookup
If you'd like to see it with your own eyes, check the domain's MX record. This tells you whether the domain is set up to receive email.
On Windows, Mac or Linux, open a terminal and type:
nslookup -type=mx gmail.com
On Mac or Linux you can also use:
dig mx gmail.com
If you see one or more mail servers listed, the domain can receive email. If you get nothing back, mail to any address on that domain will bounce. Not a fan of terminals? Our MX lookup tool shows the same thing in your browser, plus the email provider behind the domain.
Keep in mind, this tells you nothing about the part before the @. The domain can be perfect while the person's inbox is long gone.
3. Send a test email
The oldest test is still the most honest one. Send a short, normal message and wait.
- If it bounces within a few minutes with a message like "550 mailbox unavailable" or "user unknown", the address is dead.
- If it doesn't bounce, the server accepted it. That's a good sign, but not proof that someone reads it.
- If you get a reply, it's valid. Done.
Use this for one contact you really care about, like a client or a job application. Don't do it for a list of 2,000 addresses. Bounces from a big batch of bad addresses hurt your sender reputation fast, which is exactly what you were trying to avoid.
4. SMTP mailbox check (what paid tools do)
This is the clever one, and also the most misunderstood. A tool connects to the domain's mail server and starts a normal email conversation. It gives a sender, then asks to send to the address you're testing (the "RCPT TO" step), and then hangs up before sending anything.
If the server answers "550, no such user", the mailbox doesn't exist. If it answers "250, OK", the server says it would accept the mail.
Sounds perfect, right? Here's the catch:
- Catch-all servers say "OK" to every address, real or not. Many company domains work this way, so the test can't tell real from fake.
- Big providers protect their users. Some won't confirm or deny a mailbox to strangers, because spammers used this trick to harvest addresses for years.
- The old VRFY command is usually off. It was designed to verify an address, but the email standard itself allows servers to disable it for security reasons (RFC 5321, section 3.5.2), and most do.
- Greylisting makes some servers reject the first attempt on purpose, so a real address can look invalid.
Also, running these checks yourself from your own server or office connection is a bad idea. Mail servers notice lots of half-finished connections and can block your IP, which then hurts your real email.
5. Double opt-in (best for sign-up forms)
If people give you their email on a form, let them prove it. Send a confirmation email with a link, and only add them to your list once they click it.
It adds one small step for the user, but every address on your list is real, typed correctly, and belongs to someone who actually wants your emails. No tool beats that.
A handy trick when you build or test your own sign-up form: use a free temporary email address to go through the flow yourself. You'll see the confirmation email arrive, check that the link works, and keep test messages out of your real inbox.
What email test results mean (and what to do next)
Every checker uses slightly different words, but the results nearly always fall into five groups.
|
Result |
What it means |
What to do |
|---|---|---|
|
Valid |
Correct format, real domain, working mail server |
Send to it |
|
Invalid |
Bad format, the domain doesn't exist, or it has no mail server |
Remove it. It will bounce |
|
Risky |
Probably works, but it's disposable, a role inbox or a likely typo |
Fix the typo, or decide case by case |
|
Catch-all (accept all) |
The server accepts every address, so the mailbox can't be confirmed |
Send carefully, watch for bounces |
|
Unknown |
The server didn't answer in time or blocked the check |
Try again later, or send a single test email |
A few real-world notes on these:
"Risky" isn't the same as "bad". An address like sales@company.com is a role inbox. It's real, but it may go to five people or to nobody in particular. For a newsletter, that's often fine. For a personal sales email, you'd rather have a person's name.
Fix typos, don't delete them. If someone typed jane@gmial.com, they meant gmail.com. A good checker suggests the fix. If they signed up on your site, it's worth emailing them at the corrected address or asking them to update it next time they log in.
Disposable addresses are a judgment call. People use temporary emails to avoid spam, and that's fair. But if you need to contact someone again, like for an order or an account, a throwaway inbox won't work a week later. Many sites block disposable domains at sign-up for exactly this reason.
Why bother? What invalid emails really cost you
Sending to bad addresses causes bounces, and inbox providers watch your bounce rate closely. Mailchimp puts the average bounce rate for an email campaign at 1% to 2%. Above 2%, it says you should review your list, and above 5% you should review it urgently (Mailchimp).
There are two kinds of bounce, and they need different handling:
- Hard bounce: a permanent failure. The address or domain doesn't exist, or it was a typo. Remove it right away.
- Soft bounce: a temporary failure. The mailbox is full, the server is down for a while, or the message was too large. Your email platform will usually retry. If the same address soft bounces again and again, treat it as dead.
Google's own email sender guidelines suggest that senders consider automatically unsubscribing people whose messages bounce several times. They also say that when your messages start bouncing, you should slow down and send less until the error rate drops. If you send more than 5,000 emails a day to Gmail accounts, you also need SPF, DKIM and DMARC set up, and your spam rate must stay below 0.3%.
In plain words: a dirty list doesn't just waste a few emails. It can push your good emails into spam for everyone.
Common mistakes and myths about testing emails
Myth: "Valid" means a real person reads it. It doesn't. It means the address can receive mail. Plenty of valid inboxes are abandoned, and many catch-all domains accept anything.
Myth: You can verify any email 100% without sending. No tool can promise that honestly, because many mail servers refuse to confirm whether a mailbox exists. A good tool tells you when it isn't sure.
Mistake: Checking the list once and never again. People change jobs, close accounts and let domains expire. An address that was fine last year might bounce today. Re-check older lists before a big send.
Mistake: Using a strict format rule that blocks real people. Addresses like o'brien@company.ie or name+news@gmail.com are perfectly valid. If your sign-up form rejects them, you're turning away real customers. Keep the format check simple and let the email test do the rest.
Mistake: Buying an email list. Bought lists are full of old, invalid and trap addresses. No checker can make a bought list safe to mail, and sending to people who never asked for your email is how domains end up blocked.
Testing your own email address and setup
Sometimes the address you want to test is your own. Maybe customers say your emails never arrive, or your messages keep landing in spam. In that case, the problem usually isn't the address. It's how your domain is set up.
Run these checks on your own domain:
|
Check |
What it tells you |
Free tool |
|---|---|---|
|
MX records |
Whether your domain can receive email at all |
|
|
SPF record |
Which servers are allowed to send email for your domain |
|
|
DMARC record |
What happens to fake emails that use your domain |
|
|
Email header |
Whether a sent email passed SPF, DKIM and DMARC, and how it was routed |
|
|
Content |
Words and formatting that spam filters dislike |
A simple way to test all of this at once: send an email from your own account to a Gmail address you control. Open it, click the three dots, choose Show original, and paste the whole header into the email header analyzer. If SPF, DKIM and DMARC all say pass, your setup is in good shape. If one fails, the analyzer tells you which one, and the SPF or DMARC checker shows you how to fix it.
Frequently asked questions
How can I test if an email is valid for free?
Paste the address into a free email checker. It checks the format, confirms the domain exists and looks for a working mail server in a second or two. Our email checker is free, needs no sign-up and checks up to 500 addresses at once.
Can I check if an email is valid without sending an email?
Yes, for the format, the domain and the mail server. Checking whether the exact mailbox exists without sending is only possible on some servers, because many refuse to confirm it. For a 100% answer, send an email or use a confirmation link.
How do I know if an email address is fake?
Common signs are a domain with no mail server, a misspelled provider like gmial.com, a known disposable email domain, or random-looking letters before the @. An email checker flags the first three automatically.
What does "catch-all" mean in an email test?
A catch-all domain accepts mail for every address, even ones that don't exist. Because the server always says yes, no test can confirm whether a specific mailbox is real. Send to these addresses carefully and remove any that bounce.
Is a valid email the same as a deliverable email?
Not quite. Valid usually means the address is formatted correctly and its domain can receive email. Deliverable means your message actually reaches the inbox, which also depends on your own sender reputation, your SPF, DKIM and DMARC setup, and your content.
How often should I check my email list?
Check new addresses when people sign up, and re-check your whole list before any big send if it hasn't been mailed in a few months. Old lists go bad as people change jobs and close accounts.
Why does a valid email still bounce?
The inbox may be full, the server may be down for a while, or the receiving server may have blocked your message as spam. A temporary problem is a soft bounce, and it often goes away on the next try.
Your next steps
If you only remember one thing from this guide, make it this: check the format, the domain and the mail server for every address, and let real people confirm their own email whenever you can.
- Run your single address or list through the free email checker
- Remove invalid addresses and fix obvious typos
- Turn on double opt-in for your sign-up forms
- Check your own domain with the SPF checker and DMARC checker
- Test your next campaign with the email spam checker before you hit send