What’s the difference between syntax and domain validation?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

You've probably heard someone say an email address "looks valid" before adding it to a list. But looking valid and actually being valid are two very different things. That's where syntax and domain validation come in, and they each catch a different kind of problem.

Syntax validation checks the format of an address. Does it have the right structure (local part, @, domain)? Are the characters legal? Nothing with a space in the middle or a missing @ symbol gets through. This check is instant because it's just pattern matching. No internet connection needed. Think of it as reading the address to see if it's written correctly.

Domain validation goes one step further. It checks whether the domain portion of the address actually exists and is set up to receive email. It does this by running a DNS lookup to find MX records for that domain. If captain@deepcurrent.io passes syntax but deepcurrent.io has no MX records (or doesn't exist at all), domain validation catches it as invalid. This step requires a DNS query but it's still fast.

Here's the part that trips people up. An address can pass both checks and still bounce. Syntax says the format is fine. Domain validation says the domain exists and accepts email. But neither one can tell you whether the specific mailbox (captain, in our example) actually exists on that server. That requires a deeper check, sometimes called verification, which pings the mail server directly to ask if the address is live.

So the short version: syntax catches obvious formatting garbage. Domain validation catches addresses at dead or non-mail domains. Neither replaces a full mailbox-level check. You generally want all three layers if you're serious about keeping your list clean.

If you want to see this in practice, we clean lists at RME and flag exactly which addresses failed at which layer. Makes it a lot easier to know what you're dealing with before you ever hit send. Learn more about RME Clean if you've got a list that needs a proper once-over.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Paste a few invalid addresses and let the AI tell you which check they failed

I want to understand how my email validation tool checks addresses. Tell me: (1) whether my tool does syntax checking only, domain validation, or both, (2) which types of bad addresses each check would catch and miss, and (3) what a sample of my failing addresses (if I paste them in) says about where my list problems are coming from.

Edit the yellow boxes, then send to the AI of your choice.