Skip to content
Server-sideDeleted in 30 minutes

Extract Email Addresses From Text

Paste a forwarded thread, a copied web page, or a messy export, and every email address in it comes out as a clean list — deduplicated, optionally sorted, and grouped so you can see which domains dominate. Contact lists deserve more caution than most text, which is why nothing pasted here is ever stored: it is extracted and discarded the moment the response is returned.

Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.

Add to Chrome — free
Input
0
Found
Emails

What it does

  • Finds addresses inside arbitrary surrounding text
  • Case-insensitive deduplication
  • Filter to a single domain, and a domain breakdown
  • Optional reading of obfuscated forms like name [at] example [dot] com

How to use Extract Emails

  1. 1

    Paste the source

    It does not need to be a list. An email thread, a copied contact page, or a CSV with addresses in one column among many all work.

  2. 2

    Check the count

    The address and domain totals appear immediately. If the count looks low, the addresses may be obfuscated — turn on the "at / dot" option.

  3. 3

    Narrow if needed

    Type a domain to keep only addresses at that domain. Useful for splitting an external list away from internal colleagues.

  4. 4

    Copy in the shape you need

    One per line for a spreadsheet, or comma or semicolon separated to paste straight into a mail client's recipient field.

How it works

A single regular expression scans the text for the shape of an address: a local part, an at sign, then a domain of one or more labels ending in a suffix of at least two letters.

The pattern is deliberately narrower than the specification allows. Email's formal grammar is notoriously permissive — "[email protected]"@ example.com is a legal address — and a pattern that accepted all of it would match large amounts of ordinary punctuation-heavy text. Narrowing to what addresses actually look like trades a handful of exotic true positives for a very large reduction in junk.

After matching, three passes clean the results. Trailing dots are stripped, since an address ending a sentence can otherwise capture the full stop. Addresses are lowercased if the option is on. Deduplication uses a case-insensitive key while preserving the first spelling encountered.

The domain breakdown is a second pass over the results, splitting at the last at sign rather than the first — the local part may legally contain one, and splitting at the wrong place produces a domain that does not exist.

Why obfuscation handling is opt-in

Writing an address as name [at] example [dot] com is a long-standing habit for avoiding scrapers. Interpreting it is useful when you are reading a page that does it, and actively harmful otherwise: the word "at" appears constantly in normal English, and a tool that rewrites every occurrence produces addresses that were never in the text.

The compromise here is to require a delimiter. Brackets, parentheses, angle brackets, hyphens, and underscores all count as a signal of deliberate obfuscation; a bare "at" between two words does not. That keeps the feature useful without it corrupting ordinary prose, and it is off by default so it cannot surprise you.

When you'd use this

Recovering a distribution list from a forwarded thread, where the addresses are buried in headers you do not want. Pulling contacts out of a copied directory page. Splitting a mixed export by domain to separate customers from colleagues. Auditing which domains dominate a list before importing it anywhere.

The domain breakdown is often the most immediately useful part. A list that turns out to be sixty percent one domain is usually one company rather than a market, and that is worth knowing before you build a campaign on it.

Examples

Pulling addresses out of a forwarded thread

The angle brackets, the comma separation, and the full stop after the last address are all discarded correctly. Bob appears twice with different capitalisation and is counted once, because the domain part of an address is case-insensitive and in practice mail providers treat the whole thing that way.

Reading a deliberately obfuscated address

Reach me at jane [at] example [dot] org

Only the bracketed markers are interpreted. The ordinary "at" in "Reach me at jane" is left alone — matching that too would produce the nonsense address me@jane, which is exactly the failure mode most naive extractors have.

Frequently asked questions

Will it find every valid email address?

Not every theoretically valid one. The formal specification permits quoted local parts with spaces, parenthesised comments inside the address, and domains with no dot at all. Those are legal and essentially never used, and matching them would drag in enormous numbers of false positives from ordinary prose. The pattern here targets addresses as they actually occur.

Does finding an address mean it works?

No. This tool answers "does this look like an email address", which is a question about shape, not existence. The address may be misspelled, long since closed, or a spam trap. Nothing short of sending mail to it — or a dedicated verification service — can tell you whether it is deliverable.

Why does it lowercase addresses by default?

Because that is what mail systems do. The domain part is defined as case-insensitive, and although the local part technically is not, no major provider treats Bob@ and bob@ as different mailboxes. Lowercasing makes deduplication reliable. Turn it off if you are preserving addresses exactly as they were written for a record.

What does the plus sign in an address mean?

It is a sub-address, supported by most large providers: mail sent to [email protected] arrives in [email protected]'s inbox, tagged. They are kept intact here because they are real, distinct addresses and stripping the tag could merge two entries that a recipient deliberately keeps apart.

Is it safe to paste a client list here?

The list is sent over an encrypted connection to be extracted, and what matters is what happens after: nothing is written to disk, logged, or retrievable once the response comes back. There is no file, no database row, and no retention window to worry about — the text exists only for the moment it takes to pull the addresses out. Whether your own organization's policy permits pasting client data into any external tool, including this one, is a separate question worth checking regardless of what any tool promises.