Email addresses end up buried everywhere: a long reply-all thread, a trade show export with twelve columns, a supplier price list saved as PDF, the HTML source of a contact page you copied, a Word document someone sent with "the list". Copying them out by hand takes forever and you always miss one or paste one twice.
This email extractor reads the text you paste and the files you drop, finds every address in them, and gives you a clean list. It runs in your browser, so the text and files stay on your device. It does not visit websites or crawl anything; it only reads what you give it.
How to extract email addresses
- Paste your text into the left box. It can be plain text, a whole email thread, CSV rows or HTML source. The result box on the right updates as you type.
- Or drop files onto the box under it: TXT, CSV, HTML, DOCX, XLSX or PDF, up to 50 MB each and up to 50 files at a time. Each file shows in a list, and you can remove one with the Ă— button.
- Pick your options. Remove duplicates and Lowercase are on by default. Turn on Exclude role addresses if you only want named people.
- Use Sort to order the list by first appearance, A to Z, by domain or by how often each address was mentioned.
- Filter by domain if you need to: choose Only these domains or Skip these domains and type one or more domains separated by commas. You can also click a domain chip under Top domains.
- Click Copy emails, Download CSV or Download TXT.
The separator setting changes how the copied list looks: one address per line for spreadsheets and email tools, commas for most "To" fields, and semicolons for Outlook, which uses semicolons between recipients.
A real example
The box loads with a short message so you can see the behavior before you paste anything. It holds these lines:
| What the text contains | What the extractor returns |
|---|---|
Dana Ortiz <dana.ortiz@harborlane.com> | dana.ortiz@harborlane.com |
Wholesale@HarborLane.com | wholesale@harborlane.com (lowercased) |
press [at] northfieldgoods [dot] co | press@northfieldgoods.co |
<a href="mailto:mark%40oakandpine.store"> | mark@oakandpine.store (the %40 is decoded) |
| dana.ortiz@harborlane.com a second time | Counted twice, listed once |
logo@2x.png | Nothing: it is an image file name, not an address |
The result is six unique addresses from seven mentions across five domains. Turn on Exclude role addresses and wholesale@, returns@ and press@ drop out, which leaves the three addresses that belong to named people.
What the extractor finds, and what it skips
An address is matched when it has a local part, an @ sign and a domain that ends in a real looking extension of 2 to 24 letters, such as .com, .co.uk, .store or .com.br. Plus addressing like orders+shopify@brand.com is kept as written, because the plus part is how many people sort their mail.
Hidden and disguised addresses
People and websites hide addresses from spam bots in a few common ways. The extractor undoes the ones that are safe to undo:
- HTML entities such as
@for the @ sign, which you see when you paste page source. - URL encoding in mailto links, such as
mailto:name%40brand.com. - Bracketed words:
name [at] brand [dot] com,name (at) brand (dot) comand the same with curly brackets. - Spaced words, like
name at brand dot com, but only when a "dot" also appears, so ordinary sentences such as "meet at noon" are not turned into addresses.
You can switch this off with the Read "name [at] site [dot] com" option if you only want addresses written in the normal form.
False matches it filters out
Retina image names like hero@2x.jpg and asset names like icon@3x.webp look like addresses to a simple pattern. The extractor drops any match whose "domain" ends in an image, script, style, font or video extension. It also strips trailing dots, so an address at the end of a sentence comes out clean.
Options at a glance
| Option | What it does | Default |
|---|---|---|
| Remove duplicates | Lists each address once. Matching ignores upper and lower case. | On |
| Lowercase | Shows every address in lowercase. Email domains are not case sensitive, and almost no mail server treats the part before the @ as case sensitive either. | On |
| Exclude role addresses | Drops shared inboxes such as info@, sales@, support@, admin@, noreply@, billing@ and about 70 more. | Off |
| Sort | Order found, A to Z, by domain, or most mentions first. | Order found |
| Domain filter | Keep only, or skip, addresses at the domains you list. Subdomains count, so brand.com also matches mail.brand.com. | Off |
| Separator | New line, comma, or semicolon in the result box and the copied text. | One per line |
The stat boxes show mentions found, unique addresses, how many are in the current result, the number of domains and how many role addresses the list holds. The top 15 domains appear as chips with a count, which is a quick way to see that 40 of your 300 contacts are at one company.
Jobs this handles well
Cleaning a CRM or event export
Exports from booking tools, webinar platforms and trade show scanners often put the email in a different column on every export, or mix it into a "notes" field. Drop the CSV in as it is. In one test with a Word vendor list, a two-page PDF brochure, an XLSX lead sheet and an HTML snippet, plus the sample text, the extractor found 17 mentions and 16 unique addresses across 10 domains, 6 of them role addresses, in under two seconds. No column mapping was needed.
Pulling contacts out of a long email thread
Forwarded threads carry addresses in the From, To and Cc lines and in signatures. Select the whole thread in your mail app, copy it and paste it. Sort by Most mentions first to see who is actually active in the conversation, then copy the list with semicolons to start a new Outlook message to the same group.
Finding every supplier address in your documents
Store owners keep supplier contacts in price lists, invoices and catalogs. Drop all of those files at once, then use Skip these domains with your own store domain and gmail.com to keep only supplier company addresses. The source column in the CSV tells you which document each address came from.
Checking a page for exposed addresses
If you run a website, paste its source to see which addresses a spam bot could collect from it. Anything listed here can be collected by scrapers too, including the [at] and [dot] style, which simple bots now decode as easily as this tool does. For inboxes that get flooded with spam, a contact form with a captcha is the safer choice, and a role address that you can filter or retire is better than a personal one.
Supported files and limits
| File | What is read | Notes |
|---|---|---|
| TXT, CSV, TSV, LOG, VCF, EML, MBOX, JSON, MD | All text | UTF-8, UTF-16 and Windows-1252 encodings are detected |
| HTML and XML | The full source, including mailto links and entities | Save a page with Ctrl+S or paste its source |
| DOCX (Word) | Body text, tables, headers, footers, footnotes, comments and hyperlink targets | Old .doc files are not supported; save them as .docx first |
| XLSX (Excel) | Text cells on every sheet and hyperlink targets | Old .xls files are not supported |
| The text layer of every page and link annotations | Scanned PDFs have no text layer; run them through an OCR tool first |
Each file can be up to 50 MB. How fast it runs depends on your device; a 300 page PDF takes a few seconds on a recent laptop. Addresses that only appear inside images, such as a business card photo, cannot be read. For those, use the image to text tool first and paste the result here.
The CSV download
The CSV has one row per address in the current result, with these columns:
- email: the address as shown.
- domain: the part after the @, lowercased.
- type: role for shared inboxes, free provider for Gmail, Yahoo, Outlook, iCloud and other consumer mail services, and business for everything else.
- mentions: how many times the address appeared across all inputs.
- source: which file or files it came from, or "pasted text".
The file is saved as UTF-8 with a byte order mark, so Excel opens it with accented names intact. The type column makes it easy to split B2B contacts from consumer addresses with a filter. If you need the CSV in a different shape, the CSV to Excel converter turns it into a proper spreadsheet with a frozen header row.
Use extracted addresses legally
An extractor is a sorting tool. Whether you may email the people on the list depends on how you got their addresses and where they live, not on the tool. The rules below are a summary as of October 2026, not legal advice.
- United States, CAN-SPAM Act. It covers all commercial email, including business to business. Every message needs accurate header information, a subject line that is not deceptive, a clear statement that it is an ad when it is one, a valid physical postal address, and a working way to opt out that you honor within 10 business days. The FTC's inflation-adjusted penalty is up to $53,088 for each email that breaks the rules. Sending to addresses collected by automated means from websites is treated as an aggravated violation.
- European Union and United Kingdom, GDPR and the ePrivacy rules. An address that identifies a person, like dana.ortiz@company.com, is personal data. You need a lawful basis to store and use it, and marketing email to individuals generally needs their prior consent. The UK allows a "soft opt-in" for people who bought from you before.
- Canada, CASL. Commercial messages need express or implied consent, plus sender identification and an unsubscribe link.
Warning: This tool does not scrape websites and is not meant for building cold lists from pages you do not own. Use it on mail, exports and documents that you or your company already hold, such as your own customer records, event sign-ups, supplier contacts or a CRM export you need to clean.
Before you send: check the list
Old lists collect typos, closed mailboxes and dead domains. Sending to them raises your bounce rate, and mailbox providers notice. Paste the extracted list into the email validator to check syntax, catch typos such as gmial.com, flag disposable domains and look up whether each domain has a mail server. Remove what fails before you import the list into your email platform.
If your goal is finding new local business customers in the first place, an extractor is the wrong starting point. Local Lead Finder Pro in AM Jarvis builds lead lists from public Google Maps business listings, checks each business website and writes outreach, and our guide to finding local SEO leads covers the process step by step.