Email Extractor

Pulls every email address out of a block of text — a pasted page, an export, a sign-up thread, a wall of HTML — removes duplicates and hands you a clean list, one per line.

Live demo · real result from this tool
Addresses3

Email addresses

sales@example.com support+billing@help.example.co.uk Sales@Example.com

Processed on your device — nothing is uploaded.

How to use Email Extractor

  1. Paste the text, HTML or export containing the addresses.
  2. Press Extract Emails.
  3. Copy individual addresses, or the whole deduplicated list at once.
  4. Works on raw HTML — there is no need to strip the tags first.
  5. Addresses with plus-addressing (name+tag@example.com) and with subdomains are matched correctly.
  6. Nothing is uploaded; the text stays in your browser, which matters when the source is a customer export.

How it finds addresses, and what it will miss

The scan is a pattern match for a local part, an @, a domain and a dot-suffix of at least two letters. That catches essentially every address written normally, including those wrapped in HTML tags or buried in a mailto: link, because the surrounding markup does not match the pattern and is simply skipped. It will not catch deliberately obfuscated ones — “name (at) example (dot) com” is not an email address as far as any pattern is concerned — nor addresses assembled by JavaScript after the page loads, which is exactly why sites obfuscate them.

Duplicates are removed, case is preserved

Each distinct address appears once, in the order it was first seen. The comparison is exact, so Contact@Example.com and contact@example.com both survive as separate entries even though most mail servers treat the local part case-insensitively in practice. If you are building a mailing list, lowercase the result afterwards and deduplicate again — the domain half is definitively case-insensitive, the local part is only conventionally so.

Extracted is not the same as valid, or permitted

A pattern match confirms the shape of an address, not that the mailbox exists or that anyone reads it. Expect role accounts, spam traps and long-dead addresses in any scrape. And the legal point, which matters more than the technical one: harvesting addresses from websites to email without consent is prohibited under GDPR in Europe, PECR in the UK and CAN-SPAM in the United States. The defensible uses of this tool are your own data — cleaning an export, recovering contacts from an old thread, pulling addresses out of a form dump you already own.

Frequently asked questions

Does it validate email format?
Yes — it checks for proper format (user@domain.tld) but can't check if they're active.
Are duplicate emails removed?
By default yes — toggle off to keep all occurrences.
Can I copy the list?
Yes — click Copy to get a newline-separated list of all found emails.
Can it extract addresses from a PDF or a spreadsheet?
Not directly — paste the text in. Open the file, select all, copy, and paste here; the extraction does not care about the layout or the stray formatting that comes with it.
Why did it miss an address I can see on the page?
Either it is obfuscated (“at” and “dot” spelled out, or the @ inserted as an HTML entity), or it is written into the page by JavaScript after load, so it is not in the text you copied. Both are deliberate anti-harvesting measures.
Is it legal to use extracted addresses for marketing?
Generally no. Sending unsolicited commercial email to addresses collected from websites breaches GDPR, the UK's PECR and CAN-SPAM, with real penalties attached. Use this to clean and recover contacts you already have a relationship with or consent from.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close