Email extractor: pull every address out of any text
An email extractor scans text for anything shaped like an email address and returns each one once. Paste text, HTML or a CSV above, or upload a file, and you get a deduplicated, lowercased list you can download as CSV. It runs in your browser, so nothing you paste is sent anywhere.
Sample result
3 unique emails pulled from the text, with 1 duplicate removed.
- Unique emails
- 3
- Matches found
- 5
- Duplicates removed
- 1
What this means for you
Paste anything with addresses in it and get a clean list to copy or download.
- Pulls addresses from text, HTML or CSV
- Deduplicates regardless of capitals
- Skips file names like logo@2x.png
- Download with domain and times found
- Extract
- Dedupe
- CSV
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
How do I extract email addresses from text?
- Paste the text into the box, or upload a CSV or TXT file. Email threads, HTML source, spreadsheet columns and notes all work. Files can be up to 25 MB.
- Leave "written-out addresses" ticked if the source might contain forms like
name [at] site [dot] com. - Press Extract emails. You get the unique addresses, how often each appeared and the most common domains.
- Download the CSV or copy the list. Before you send to it, run it through a mailbox check, because extraction proves only that the text looks like an address.
Example
- You enter
- Pasted text that mentions
jane.doe@acme.exampletwice,bob.smith@yourcompany.example,press@acme-mail.exampleand an image name likelogo@2x.png. - You get
- 3 unique addresses from 5 matches, with jane.doe@acme.example counted twice and the image file name skipped.
- Limits
- Runs in your browser with no row cap; an uploaded file can be up to 25 MB.
How does an email extractor work?
An email extractor matches a pattern: a local part, an @ and a domain that ends in a real-looking top-level domain. This one then runs every match through the same syntax rules as our bulk syntax checker. Matches that fail are counted as skipped rather than silently included.
Two things are deliberately excluded. Retina image names such as logo@2x.png look exactly like addresses and turn up in every scraped page, so anything ending in an image or code file extension is dropped. And URL parameters are trimmed: ?to=jane@example.com yields jane@example.com, not the parameter name stuck to the front. A mailto: link, defined in RFC 6068, gives up its address the same way, with any ?subject= left behind.
Addresses are lowercased. RFC 5321 technically allows a server to treat the part before the @ as case-sensitive, but no mainstream mailbox provider does, and keeping Jane@ and jane@ as two rows only creates duplicate sends.
Can I extract email addresses from Outlook, Gmail or a web page?
Yes, once you have the text. The extractor reads whatever you paste, so the job is getting the addresses into a copyable form first.
From classic Outlook, export a folder or your contacts with File, Open & Export, Import/Export, Export to a file, then Comma Separated Values, and upload the CSV here. For a single thread, open it and copy the whole message, headers included. In Gmail, open a message and choose More, then Show original: the raw message lists every From, To and Cc address, and pasting all of it works. Raw headers also contain Message-ID values such as <abc123@mail.gmail.com> that are shaped like addresses, so check the top domains and delete those before you use the list.
For a web page, view the page source (Ctrl+U in most browsers) and paste the HTML. Addresses inside mailto: links and attributes are found even when the visible text says only "Email us". Spreadsheets work best through the Excel email extractor, which reads every sheet, and PDFs through the PDF email extractor.
Are extracted email addresses valid?
Not necessarily: everything this page finds is text that looks like an address, and whether a mailbox actually exists behind it is a separate question that no amount of pattern matching can answer. Addresses pulled from old threads, PDFs or scraped pages are especially likely to be dead: people change jobs, companies change domains, and some addresses on websites were never monitored at all.
Sending to those addresses produces hard bounces, and bounce rate is one of the things sending platforms watch most closely. Brevo, for example, publishes a 2% hard-bounce line above which campaigns can be suspended; the full list of published limits is in bounce rate limits by platform.
The practical order is: extract here, remove duplicates and obvious junk, then verify the mailboxes before the first send. If the list came from scraping, read how to verify scraped emails first; scraped lists carry more role addresses and spam traps than lists people signed up to.
How large a file can the email extractor handle?
Up to 25 MB per file, which covers files of 50,000 lines and more without freezing the page. It reads the file with your browser's FileReader and runs one pass over the text. Files above 25 MB are refused rather than risk crashing the tab; split them first. The preview shows the first 100 addresses, and the download always has all of them.
Is this better than a regex formula in Google Sheets?
For one address per cell a formula is enough. For pasted threads, HTML and exports, the differences show:
| This tool | REGEXEXTRACT in Sheets | |
|---|---|---|
| Several addresses in one block of text | All of them | First match only |
name [at] site [dot] com | Found (option on) | Missed |
Image names like logo@2x.png | Dropped | Returned as an address |
| Duplicates and capital letters | Merged, lowercased | Kept as separate rows |
| Count per address and top domains | Shown | Needs a pivot table |
The formula: =REGEXEXTRACT(A2,"[A-Za-z0-9._%+'-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}").
Who uses this tool, and for what?
- Cold emailers
- Pull the addresses out of scraped pages or a research doc, then remove duplicates and verify them before they go into a sequence.
- Agencies
- Turn a client's pasted thread, event notes or website HTML into one clean CSV with a count per address, without asking them to reformat anything.
- Recruiters
- Paste a long candidate thread or a job-board export and get every address once, ready for a Bcc field or an ATS import.
- Marketers
- Collect the addresses from old campaign replies and inbox exports into a list you can check against your suppression list before reuse.
What can’t this tool tell you?
- It finds text shaped like an address. It cannot tell you the mailbox exists; that takes an SMTP mailbox check.
- The local part is matched on letters, digits and
. _ % + ' -. Rare characters RFC 5322 allows, such as!or#, end the match early. - Written-out addresses are found only in bracketed forms like
[at],(at)or{at}. Plainjane at example dot comis not converted. - It reads text only. A PDF or image has to be copied as text first, or use the PDF extractor; scanned images with no text layer can't be read.
- Files over 25 MB are refused; split them first.
Common questions
- How do I extract email addresses from text?
- Paste the text into the extractor above, or upload a CSV or TXT file, and press Extract emails. It finds every address-shaped string, drops duplicates and image file names, lowercases the result and lets you download it as a CSV. It works the same way on email threads, HTML and spreadsheet exports.
- What does an email extractor do?
- It finds every piece of text shaped like an email address in a document, page or export and gives you the list. This one also removes duplicates, lowercases the addresses and skips matches that fail a syntax check.
- Can I extract emails from a CSV or Excel file?
- Yes for CSV and TXT. For an Excel file, save it as CSV first (File, Save As, CSV), then upload it, or use the Excel email extractor, which reads .xlsx files and every sheet directly. The extractor ignores the column layout and finds addresses wherever they are, so it also works when emails are mixed into a notes or description column.
- How do I extract email addresses from Outlook?
- Export the folder or contacts to a CSV (File, Open & Export, Import/Export, Export to a file, Comma Separated Values in classic Outlook) and upload it here. For one thread, copy the whole message including the headers and paste it.
- How do I extract email addresses from Gmail?
- Open the message, choose More, then Show original, and copy the raw text into the box. The headers list every sender and recipient. They also contain Message-ID values that look like addresses, so delete any on domains like mail.gmail.com from the result.
- Can I extract an email from LinkedIn?
- Only from text you can see and copy. LinkedIn shows a member's address under Contact info only when their privacy settings let you see it; our guide to finding an email from a LinkedIn profile covers the other routes.
- Does the email extractor remove duplicates?
- Yes. Every address appears once, matched without regard to capital letters, with a count of how many times it appeared. For Gmail dot and +tag variants, run the result through remove duplicate emails.
- Is my data uploaded anywhere?
- No. The extraction runs in your browser with JavaScript. The text you paste or the file you choose is never sent to our servers, which is why there is no size-based fee or signup.
- Why are some matches skipped?
- A match is skipped when it fails a syntax check, for example two dots in a row or a domain label starting with a hyphen, or when it ends in an image or code file extension like .png or .js. Those are almost always retina image names or broken text, not addresses.
- Does the extractor check whether the emails are real?
- No. It checks format only. Whether a mailbox exists can only be answered by asking the receiving mail server, which is what an SMTP mailbox check does. That check is the paid part of SimpleVerifier; the extractor is free and unlimited.
Sources
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? $9 one-time covers 2,500 emails, no subscription
One plan, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.