Email extractor

Pull every email address out of pasted text, HTML, CSV or a dropped file. Duplicates are removed, and you can sort, filter by domain and pick how they’re separated.

Loading…

Worked example

Mixed text with a mailto link, a repeat in different case and trailing punctuation.

text
Contact Ada <ada@example.com> or <a href="mailto:grace@navy.example.org?subject=Hi">Grace</a>.
Cc: ADA@EXAMPLE.COM, alan.turing+ml@uni.example.ac.uk.
emails
ada@example.com
grace@navy.example.org
ADA@example.com
alan.turing+ml@uni.example.ac.uk

ADA@example.com is kept as a separate address because the part before the @ differs in case. Turn on Lowercase to merge it with ada@example.com.

Common mistakes

  • Sending to scraped lists

    Addresses copied from web pages often belong to people who never asked to hear from you. Only email people who agreed to it.

  • Assuming every match is real

    Text that looks like an address can still be a typo, a placeholder like name@example.com, or a mailbox that no longer exists.

  • Merging case in the local part without thinking

    Most providers ignore case before the @, but not all. Lowercasing is usually safe for lists you send to, less so for records you keep.

  • Pasting a comma list into a field that wants semicolons

    Some mail apps, Outlook among them, expect addresses separated by semicolons. Switch the separator before you copy.

How it works

  1. 1

    Paste text or drop a file

    Emails, web pages, spreadsheets exported as CSV, logs: anything with addresses in it. mailto: links and addresses in angle brackets are picked up too.

  2. 2

    Set the options

    Remove duplicates, sort A–Z, keep only certain domains, or lowercase everything. The count updates as you go.

  3. 3

    Copy or download

    One address per line, or separated by commas or semicolons for pasting into a To: field.

Questions

Which addresses does it find?
Anything shaped like name@domain.tld, including plus addressing (ada+news@example.com), subdomains and international addresses such as josé@exämple.de. It needs a dot in the domain, so user@localhost is skipped, and file names like logo@2x.png are left out.
How are duplicates detected?
The domain is compared without regard to case, so Ada@Example.COM and Ada@example.com count once. The part before the @ is compared exactly, because some mail servers treat it as case-sensitive. Turn on Lowercase to merge those too.
Does it check that the addresses work?
No. It finds text that looks like an address; it can’t tell whether a mailbox exists. That would need a network request, and this page never makes one.
Are quoted or obfuscated addresses found?
No. Rare forms like "john smith"@example.com, and hidden ones like ada [at] example [dot] com, are not picked up.