Free & reliable
Free Email Checker & Validator
Verify any email address in real time. We check the syntax, MX records and mailbox, and flag disposable, role and mistyped addresses, so your emails stop bouncing.
- No credit card required
- 100 free checks every month
- GDPR, checks run in Germany
Free email checker
Try it, no signupWe check these for every address. No email is sent.
- Syntax
- MX records
- Mailbox (SMTP)
- Disposable
- Role address
- Free provider
How a check works
Six checks, one answer, and no email is sent
Every address runs through the same checks. For the mailbox check we ask the recipient's mail server whether it would accept the address, then end the conversation before any message is sent.
- Format and typosMalformed addresses are rejected, and mistyped domains get a suggestion, like gmail.com for gmial.com.
- Domain and mail serversWe look up the domain's MX records to see whether it can receive email at all.
- Mailbox over SMTPThe mail server is asked about the exact address. Your recipient never sees a thing.
Catch-all detection runs when you request it (catch_all=1, paid plans). Try the checker above and the steps show the result for your own address.
Used by over 8,000 marketers and developers
- 8,000+marketers and developers
- 100free validations every month
- 6checks per address
- DEchecks run in Germany, GDPR compliant
How to verify an email address in 3 steps
From one address to a list of millions, the process is the same.
- Step
Create a free account
Sign up in a few clicks and get 100 free credits every month. No payment details needed.
- Step
Submit emails to verify
Check a single address, upload a CSV for bulk email verification, or call the API from your app.
- Step
Filter and export results
Keep the deliverable addresses and export them, manually or through one of our integrations.
What our email verification checks
Every request tells you whether to keep, double-check or remove an address, and why. Each check also works as a free tool.
Mailbox verification
Confirms the inbox exists via SMTP, without sending an email.
Is this a real email address?MX record lookup
Checks that the domain has mail servers and can receive email at all.
MX lookupDisposable email detection
Spots throwaway inboxes from temporary mail services at signup.
Disposable email checkerSyntax & typo check
Catches malformed addresses and suggests gmail.com for gmial.com.
Email syntax checkerCatch-all & role detection
Flags shared inboxes like info@ and, on request, domains that accept every address.
Catch-all emails explainedBulk email verification
Upload a CSV, filter by result and export the clean rows.
Bulk email validatorEmail validation vs. email verification
The two words are used for the same job, but they name two different checks. Every check on this page runs both.
Email validation
Could this address work?
Checks the address itself: is it written correctly, does the domain exist, and does it have mail servers? It catches typos and dead domains in milliseconds.
- Syntax (RFC 5321/5322)
- Domain and MX records
- Typo suggestions
- Disposable domains
Email verification
Does this mailbox exist?
Asks the recipient's mail server about this exact address over SMTP, then ends the conversation before any email is sent. Only this step tells you whether mail will be accepted.
- Mailbox over SMTP
- Role addresses
- Free providers
- Catch-all on request
A perfectly formatted address can still bounce. See what makes an email address valid.
What your result means
Every check ends in one of four results, with the reason behind it.
Deliverable
Send. The mail server accepts this mailbox.
- Valid mailbox
- The server confirmed the address over SMTP.
Risky
Send with care, or ask for another address.
- Low deliverability
- Accepted, but unlikely to be read: a disposable inbox or a catch-all domain.
- Low quality
- Several people seem to share the address.
Undeliverable
Don't send. The email would bounce.
- Invalid format
- The address breaks the format rules.
- No mail server
- The domain has no valid MX records.
- Mailbox not found
- The mail server refused the address.
- SMTP error
- The mail server did not respond correctly.
Unknown
Try again later. The server could not be asked.
- No connection or timeout
- The mail server did not answer in time.
- Checks not allowed
- The server does not allow mailbox verification.
- Unexpected error
- Something else went wrong during the check.
Developers get the same four states and the exact reason codes from the email validation API.
For developers
Check emails from your own code
Validate addresses at signup, checkout or CRM import with one REST request to the email validation API. Try the checker above and this response updates with your result.
Step-by-step guides
Official SDKs
- JavaScript
- Python
- PHP
- Ruby
- Go
- C#
- R
- Rust
- Perl
curl "https://api.emailvalidation.io/v1/info?email=support@emailvalidation.io" \ -H "apikey: YOUR-API-KEY"
const res = await fetch( "https://api.emailvalidation.io/v1/info?email=" + encodeURIComponent(email), { headers: { apikey: process.env.EMAILVALIDATION_KEY } } ); const { state, did_you_mean } = await res.json(); if (state === "undeliverable") // ask the user to fix the address
import os, requests r = requests.get( "https://api.emailvalidation.io/v1/info", params={"email": email}, headers={"apikey": os.environ["EMAILVALIDATION_KEY"]}, timeout=10, ) state = r.json()["state"] # deliverable | risky | undeliverable | unknown
$ch = curl_init("https://api.emailvalidation.io/v1/info?email=" . urlencode($email)); curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: YOUR-API-KEY"]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = json_decode(curl_exec($ch), true);
200 · GET /v1/info?email=support@emailvalidation.io
{
"email": "support@emailvalidation.io",
"user": "support",
"tag": "",
"domain": "emailvalidation.io",
"format_valid": true,
"mx_found": true,
"smtp_check": true,
"catch_all": null,
"role": true,
"disposable": false,
"free": false,
"score": 0.64,
"state": "deliverable",
"reason": "valid_mailbox",
"did_you_mean": ""
}We have integrated the feature suite of emailvalidation.io deeply into our business processes: we use the email validation API to keep invalid email away from our database. Additionally, our marketing department is using the email finder to create targeting lists that increase our marketing performance by over 30%.
Andreas SchusterDirector, eversign.comEmail validation pricing
5,000 checks for $9.99 a month. Comparable plans elsewhere cost $39 to $49 for 1,000 to 2,000 checks.
$9.99/month
5,000 email validations
≈ $0.0020 per validation
For small lists and side projects
Choose Small$34.99/month
25,000 email validations
≈ $0.0014 per validation
For medium-sized businesses
Choose Medium$94.99/month
100,000 email validations
≈ $0.00095 per validation
For large lists and platforms
Choose LargeCancel any time · Two months free on yearly plans · All prices excl. VAT · Need more? Get a custom plan
Email validation FAQ
Still unsure? Our support team replies fast. Contact support
How does email validation work?
Is the email checker free?
Can I verify a whole email list?
Can I check if an email exists without sending an email?
What is the difference between email verification and email validation?
Why is an address risky or unknown?
How accurate is the verification?
Is emailvalidation.io GDPR compliant?
Free email tools and resources
Free tools
Guides
Start validating emails for free
100 free checks every month. No credit card required. Upgrade when you need more.