Email extractor
Paste a page, a thread or a spreadsheet export and get back every email address in it, as a clean list. It runs in your browser, as you type, and needs no account.
Web page source, an email thread, a spreadsheet column: anything with addresses in it. Extraction runs in this tab.
The short version
- You get every address in the text, lowercased, with repeats removed and a count for each domain.
- Filter to one domain to pull just a company's addresses out of a long thread.
- Copy the result or download it as a one-column CSV that imports anywhere.
- Shape is only step one. Verify the list before you send, so the dead addresses never reach your ESP.
How the extractor finds addresses
The extractor scans your text for the shape of an address: a local part, an @, and a domain with a dot and a letters-only ending of two or more characters. That matches the dot-atom form RFC 5322 uses for nearly every address in real mail, including plus tags such as ada+news@example.com.
Before scanning, it turns @ back into @ and strips mailto:, so HTML source gives the same result as the page you see. Trailing full stops are trimmed, which matters when an address ends a sentence.
Every match is lowercased and compared, so Ada@Example.com and ada@example.com count once. The first line of the result tells you how many matches were found and how many were repeats.
| You paste | You get |
|---|---|
| Contact Ada <ADA@Example.com> | ada@example.com |
| <a href="mailto:sales@acme.io"> | sales@acme.io |
| info@acme.io | info@acme.io |
| Write to bob@mail.example.org. | bob@mail.example.org |
Before you send to an extracted list
Addresses pulled from old threads, signatures and exported pages go stale fast. People change jobs, companies change domains, and a list that looked fine bounces hard on the first send. Hunter measured 5.5% of verified addresses degrading in eight weeks (November 2025), and our list decay calculator projects that rate onto your list.
So run the result through verification first. ZapBounce opens an SMTP conversation with each receiving server and closes it before DATA, so no message is ever sent. You get valid, invalid, catch-all or unknown for every address, plus role and disposable flags. Duplicates and unknowns cost nothing.
One more thing to settle before you send: an address you extracted is not permission to email it. You need a lawful basis for every address, the same as for any list you upload to ZapBounce. Our role account checker also helps you find the info@ and sales@ inboxes that reach a function rather than a person.
Questions people ask
How do I extract email addresses from text?
Paste the text into the box above. The extractor finds every string shaped like name@domain.tld, lowercases it, removes repeats and lists the result with a count per domain. Copy the list or download it as a CSV.
Can I extract emails from a CSV or HTML file?
Yes. Open a .csv, .txt, .html, .eml, .json or .vcf file and its text is read in your browser. HTML source works too, including mailto: links and addresses written as @.
Is the text I paste sent anywhere?
No. Extraction runs in your tab with a pattern match, so the text and the addresses stay on your machine until you copy or download them.
Are extracted email addresses valid?
An extracted address has the right shape. Whether the mailbox exists is a separate question that an SMTP check answers. Run the list through ZapBounce and each address comes back valid, invalid, catch-all or unknown, and unknowns are never billed.
Turn the list into addresses that deliver
Verify 100 addresses a month free, with no card. After that it's $5 for 1,000, and credits never expire.