Email Address Validator
Instantly check whether an email address matches a practical RFC 5322-style format, and verify whether its domain can actually receive mail (MX record lookup). Free tool for form validation and mailing list cleanup.
Email format verdict examples
| Example address | Verdict | Reason |
|---|---|---|
| [email protected] | Valid | Basic format (local part @ domain part) |
| [email protected] | Valid | Tagged address using a period and a plus sign |
| [email protected] | Invalid | Two consecutive periods in the local part |
| @example.com | Invalid | The local part (before "@") is empty |
| user@example | Invalid | The domain has no top-level domain (e.g. .com) |
| user example.com | Invalid | No "@" symbol is present |
Checking an email address's format and domain
This tool judges at once whether an address is well formed and will also establish whether its domain is actually able to receive mail, that is, whether an MX record exists. It serves when designing the validation on an input form, or when tidying up a mailing list that has grown old.
**The first thing to grasp is that being well formed and actually existing are entirely different matters.** An address may be faultless in form and still bounce if the account behind it has been deleted. Conversely, **RFC 5322 is startlingly permissive: a form such as `"quoted string"@example.com` is grammatically legal.** Trying to validate completely with a regular expression therefore **guarantees that somewhere along the line you will turn away an address that was perfectly valid.** What works in practice is to **check the form only loosely and send a confirmation message for the person to open.** Checking the MX record establishes that the domain is prepared to receive mail at all, but it says nothing about whether any particular address exists.
How to use it
- Enter the address The judgement on its form is made on the spot.
- Read the verdict on the format **It is judged by a practical approximation of RFC 5322.**
- Check the MX record **This establishes whether the domain publishes anywhere to receive mail.**
- Settle it finally by sending a message **Nothing short of a confirmation message proves that an address exists.**
Tips for getting more out of it
- Even a correctly formatted address like "[email protected]" is not guaranteed to actually receive mail — the MX record check below gives you a rough idea of that.
- When cleaning up a mailing list, it is efficient to first filter out obvious typos with the format check, then confirm the domain itself is valid with the MX record check.
- Major domains like Gmail and Outlook always have MX records, but a company's own domain may lack them right after setup or due to a misconfiguration.
- A stray trailing space left over from copy-pasting an address can cause the format check to fail — watch for extra whitespace around the input.
- If you want real-time validation in your own signup form, the practical regular expression discussed in the side note below can be reused directly.
Where it comes in useful
Designing the validation on a form
You can settle how strictly to turn addresses away while testing against real examples.
Tidying up a mailing list
**Addresses whose domain has ceased to exist can be told apart by the presence of an MX record.**
Catching a typing mistake
A domain error such as `gmail.con` comes to light when the MX record is checked.
Investigating a delivery failure
For an address that will not receive, you can first establish whether the form or the domain is at fault.
Terms about email addresses
- Local part
- The portion before the `@`. **Under RFC 5322, enclosing it in quotation marks admits characters otherwise disallowed.**
- Domain part
- The portion after the `@`. The MX record of the domain written here decides where the message goes.
- MX record
- **The DNS record naming which server receives mail for a domain.** Without one, no message arrives.
- RFC 5322
- The standard defining the format of a mail message. **Its provisions are far more permissive than most people imagine.**
- Internationalised address
- An address containing non-Latin characters. Some systems still do not accept them, which calls for care in practice.
- Confirmation message
- The step of sending to the address given and having the recipient open it. **It is the most reliable validation there is.**
Frequently asked questions
Side Note — why email validation happens in two stages
Email validation is easier to understand once you split it into two distinct layers: format and existence. The format check is a purely static test of whether a string has the right shape (local part, @, domain part) and never touches the network. Confirming existence, on the other hand, requires a DNS lookup against the domain, which a browser cannot perform directly from JavaScript — it has to happen on the server. This tool splits the two into separate steps precisely because they are technically different kinds of checks.
RFC 5322 defines the formal grammar for email addresses, and it is surprisingly intricate. For example, quoting the local part in double quotes legally permits spaces and consecutive periods that no real-world mail server would ever actually use. Because of this, most practitioners skip a fully compliant parser in favor of the simplified regular expression defined by WHATWG's HTML Living Standard, and this tool follows the same pragmatic approach.
An MX record is a DNS entry that says which mail server should receive mail for a given domain, and lower preference values are tried first. When a company migrates its mail infrastructure, it is common to keep several MX records active at once during a gradual cutover. If no MX record exists at all, mail sent to that domain is very likely to be rejected by the receiving side.