Email List Normalizer
Clean, dedupe, and canonicalize an email list.
Paste emails to clean the list
Drop in a list of email addresses and get a trimmed, lowercased, de-duplicated newline list — with Gmail dots and +tags canonicalized — plus a count of what was removed. All done in your browser.
Runs entirely in your browser
Normalize an email list locally
Paste a messy list of email addresses — separated by newlines, commas, semicolons, or spaces — and get back a clean, de-duplicated list. Each address is trimmed and lowercased, obviously invalid entries are dropped, and Gmail addresses are canonicalized: for gmail.com and googlemail.com the dots in the local part are removed and any +tag is stripped, because Gmail ignores both when routing mail — so john.doe+news@gmail.com and johndoe@googlemail.com are recognised as the same inbox and collapse to a single entry. The result is a newline list you can copy, plus a count of how many entries were removed as duplicates or invalid. Everything runs in your browser, so a list that may contain customer or contact data is never uploaded.
Common questions
Why are dots and +tags removed only for Gmail?
Because only Gmail (and its googlemail.com alias) officially ignores dots in the local part and treats a +tag as the same inbox. For other providers, a dot or a plus can be a meaningful part of a different address, so changing them could merge two real people. The canonicalization is therefore applied to gmail.com and googlemail.com only.
How does it decide an address is invalid?
It applies a pragmatic, RFC-ish pattern: a non-empty local part, an @, and a domain with at least one dot and a two-letter-or-longer top-level domain, with no spaces. This catches typos and junk tokens. It is intentionally simple and is not a full RFC 5322 parser, so a few exotic-but-valid addresses may be rejected.
What counts as a duplicate?
Two entries are duplicates when they match after normalization — lowercasing, trimming, and the Gmail canonicalization. So JohnDoe@Gmail.com, john.doe@gmail.com, and johndoe+promo@googlemail.com all collapse to one. The first occurrence is kept and the order of first appearance is preserved.
What separators can I paste?
Any mix of newlines, commas, semicolons, tabs, and spaces. The list is split on all of them, so you can paste a column from a spreadsheet, a comma-separated CC line, or a free-form jumble and it will still be parsed.
Is my email list uploaded anywhere?
No. The whole list is parsed and normalized in your browser with JavaScript. Nothing is sent to a server, so a list containing contact or customer addresses never leaves your device and the tool works offline.