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

  1. Enter the address The judgement on its form is made on the spot.
  2. Read the verdict on the format **It is judged by a practical approximation of RFC 5322.**
  3. Check the MX record **This establishes whether the domain publishes anywhere to receive mail.**
  4. 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

This tool does not support a few unusual constructs that RFC 5322 technically allows, such as a quoted local part or an IP-literal domain (e.g. user@[192.0.2.1]). It uses a practical approximation that covers the vast majority of real-world addresses rather than aiming for full spec compliance.

No. An MX record only shows that the domain has a mechanism to receive mail — it says nothing about whether the mailbox named before the "@" actually exists. The only reliable way to confirm a mailbox exists is to actually send a message and check whether it bounces.

In rare cases a domain falls back to using its A record (the domain's own IP address) to accept mail instead of an MX record. This is a discouraged configuration, though, and almost every mail server today has MX records set up correctly.

The format check and MX lookup are useful as an initial screening step, but before a large send you should also verify your sender SPF/DKIM/DMARC configuration and confirm your list is opt-in. Sending in bulk to invalid addresses can damage your sending domain's reputation.
Tool-kun

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.