Email List Cleaner
Tidy an email list in the browser: unwrap "Name <addr>", lower-case domains, dedupe, check syntax (WHATWG rule), split valid from invalid with reasons.
Valid addresses (as lines, comma list or CSV with domain), the invalid ones with the reason, duplicate and domain counts — syntax only, no DNS or mailbox lookup.
Example: 400 lines from a sign-up sheet: 371 valid, 11 duplicates removed, 18 invalid (12 missing a dot in the domain, 4 with a space, 2 with two @ signs), grouped by domain.
Well-formed is not
the same as deliverable.
What the syntax check accepts, how entries are unwrapped and merged, and why no lookup is made.
The check
Entries are split on line breaks, commas, semicolons and tabs; "Name <addr>", mailto: and surrounding quotes are unwrapped. An address passes when it matches the WHATWG "valid e-mail address" pattern (the one browsers use for input type=email), has a dotted domain whose last label is letters, no double dots, a local part of at most 64 characters and at most 254 in all. The domain is lower-cased (domains are case-insensitive); the local part is kept unless you choose to lower it, because RFC 5321 lets a mailbox be case-sensitive.
Dedupe and grouping
Duplicates are detected case-insensitively on the whole address after cleaning, keeping the first occurrence. Domains are counted so a list dominated by one provider is obvious at a glance.
What is not checked
No DNS, MX or mailbox verification: that would send your list to a third party and is unreliable in any case (catch-all domains, greylisting). A syntactically valid address at a dead domain still counts as valid here. Quoted local parts and IP-literal domains, allowed by RFC 5322, are rejected like browsers do. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.
SOURCES
Last reviewed 20 September 2026. How results are checked: How we verify.