Email Syntax Validator
Check a list of addresses for well-formed syntax, and catch the domain typos that quietly bounce.
What this tool does
Email Syntax Validator splits each entry at its last @ and tests the two halves separately. The local part must be no longer than 64 characters, must not start or end with a dot or carry two in a row, and must be built from the RFC 5322 atext set — letters, digits and the punctuation the grammar actually permits — so a parenthesis comes back named as an invalid character, while a space anywhere outside a quoted local part fails earlier still, as whitespace, before the two halves are examined at all. The domain must be at most 253 characters across labels of at most 63, with no leading, trailing or doubled dots, no label beginning or ending with a hyphen, and a top-level label that is either two or more letters or a punycode xn-- label. An all-digit top-level domain is refused, and the whole address is capped at 254 characters.
It also handles the shapes that arrive in real lists rather than in specifications. A display-name entry such as Bob Smith <[email protected]> is unwrapped to the address inside and noted as such, a leading mailto: is stripped, a quoted local part is accepted with a note that it is valid but widely unsupported, and a bracketed IP literal is accepted with the same caveat. An internationalised domain written in its Unicode form passes and is flagged; a non-ASCII local part passes with a note that delivery needs SMTPUTF8 support at both ends. Alongside those, the Detail column marks role addresses like info@ and noreply@, plus-addressing, and local parts or domains that look like placeholders.
The Did you mean column compares each domain against a fixed list of forty-three consumer providers using edit distance, and against a short table of top-level misspellings — con, cmo, ocm and vom for com, ogr for org, nte for net. This is deliberately kept separate from the verdict. [email protected] is a perfectly legal address by syntax, so it is marked valid with a warning and a suggested correction rather than rejected, and the tool never invents a fix for a domain it already recognises. Those two halves have different reach, which is worth knowing before you trust a blank column. The misspelling table rewrites the last label of any two-label domain, so [email protected] is corrected to .com even though that company is on no list; the provider list only catches a domain within an edit or two of one of the forty-three, so a garbled company name like [email protected] passes with nothing suggested. Add a subdomain and even the table goes quiet — [email protected] reads as plainly valid.
The limit that matters is what syntax can tell you, which is less than most people want. There is no DNS query, no MX record check and no SMTP probe here, so a flawlessly formed address at a domain that has never existed passes without comment — use MX Lookup to find out whether a domain accepts mail at all. Two rules will also surprise you. user@localhost and anything else with a single-label domain is refused, because the check requires a top-level domain, even though a local mail system would deliver it. And the input is split on commas and semicolons as well as line breaks, so a display name containing a comma is torn into two rows — put one address per line whenever names are involved. Deduplication lowercases the entire address, including the local part that RFC 5321 formally treats as case-sensitive, so Bob@ and bob@ collapse into one row. All of this runs inside your browser tab; the list is never uploaded, which matters because a column of addresses is personal data about other people, not just a file of your own.
How to use it
- Paste the addresses. One per line is safest, though commas and semicolons also separate entries. Press Load sample to see the shapes it recognises, including display-name and quoted forms.
- Decide what happens to duplicates. Remove duplicates is on by default and matches case-insensitively across the whole address. The first occurrence is kept and the rest are counted in the summary line rather than listed.
- Narrow the table if the list is long. Show only problems keeps the invalid rows and the ones carrying a typo suggestion. Leave it off to read the notes on the valid ones too — role addresses, plus-addressing and placeholder-looking entries.
- Read the four columns. Address, Status, Detail and Did you mean. Status separates a hard failure from a valid address with a suspicious domain, and Detail names the specific rule that was broken.
- Copy the results. The copy button hands you the whole table as CSV, headers included, so it pastes straight into a spreadsheet next to whatever list you started from.
Processing & privacy
Runs on your device. Your file is processed directly in this browser.
Common use cases
Cleaning a signup list before an ESP import
Malformed addresses never had a chance of delivering, and a batch of hard bounces on first send is the fastest way to damage a sending reputation.
Working out why one address keeps failing
Paste the single address and the Detail column names the rule — consecutive dots, a hyphen at the end of a domain label, a stray second @ — instead of leaving you with a bounce code.
Fixing typos from paper forms or phone calls
Transcribed addresses arrive as gmial.com, hotmial.com and yahoo.con. Each of those comes back with a correction in the Did you mean column.
Testing your own form validation
Feed it the awkward but legal shapes — a quoted local part, plus-addressing, an internationalised domain, an IP literal — and see which of them your own regex would have thrown away.
Auditing who is actually on a list
The notes mark info@, support@, billing@ and noreply@ as role addresses, which are usually the entries that should not be receiving marketing at all.
Questions
Does this check whether the mailbox exists?
Are my addresses uploaded anywhere?
Why is user@localhost marked invalid?
Why is a .con address called valid?
Which parts of RFC 5322 does it not implement?
Why did one line become two rows?
How many addresses can it handle?
Does it change or normalise my addresses?
Related tools
- Email Header Analyzer — Trace delivery hops and read authentication results.
- MX Lookup — Check the mail exchange records for a domain.
- SPF Inspector — Parse an SPF record and count DNS lookups.
- DMARC Inspector — Read a DMARC policy and explain what it enforces.
- EML Viewer — Open an .eml message safely without a mail client.
- HTML Email Preview — Render an HTML email and check it at several widths.