Email Address Extractor
Extract email addresses from pasted text, source code, contact lists, and supported files with this free online email address extractor. Identify unique addresses, inspect where they appear, filter by domain, clean your results, and copy or download the organized list.
Email address extraction tool
1. Add your source content
Paste text, code, or a contact list, or load a text-based file. Everything stays in your browser.
Drag and drop a text-based file here or
Supported: .txt, .csv, .tsv, .html, .htm, .json, .xml, .log, .md, .eml. Maximum 5 MB. Files are read locally and never uploaded. PDF and Word files are not supported.
2. Choose extraction settings
Settings for duplicates and case apply instantly to the current results. Changing the mode needs a new extraction.
3. Review, clean, and filter results
Filters change what you see. They never delete addresses. Removing rows only affects the working results, not your source text.
Excluded by domain rules: 0
Separate several domains with commas or line breaks. A blocklist match always wins over the allowlist. Domain rules only change what is shown and exported.
0 selected
| Email address | Domain | Count | Syntax | Line | Actions |
|---|
Syntax checks are practical pattern checks only. They do not show that a mailbox exists, receives mail, or is safe to contact.
4. Format, copy, and download
The preview updates with your settings. It is built from the working results, not from the source text.
The four "Include" options apply to CSV and JSON. JSON is an array of objects with email plus the optional fields domain, occurrences, lines (array of numbers), and context.
Copy buttons other than Copy Formatted Output use the separator format chosen above (one per line when CSV or JSON is selected). The context download is a CSV with one row per occurrence, including line, column, and surrounding text.
Free Online Email Address Extractor
This email address extractor finds email addresses inside text you provide: pasted paragraphs, forwarded messages, contact lists, HTML source, JSON and XML snippets, technical logs, and supported text-based files. Instead of only returning a flat list, it shows where each address appeared, how often it appears, and which domain it belongs to.
You can review the line number and surrounding text for every match, remove duplicates, filter by domain with allowlists and blocklists, search and sort the results, and export the final list as plain text, CSV, or JSON. For a more general-purpose workflow, see the Email Extractor Online tool.
The extractor processes only the content you give it. It does not visit websites, open mail accounts, or fetch remote pages. If you want addresses from a webpage, copy the page text or source and paste it in.
What Is an Email Address Extractor?
An email address extractor uses pattern matching to locate strings that look like email addresses within a larger body of text. A typical match has a local part, an at sign, and a domain with at least one dot. The extractor decides where an address starts and ends, so that surrounding spaces, quotes, brackets, and punctuation are left out.
People use extraction to organize contact data, review copied documents, clean exported lists, and locate addresses in logs or code. It saves time compared with searching manually, especially when the same address appears many times with different capitalization.
It helps to separate three ideas. Extraction finds text that looks like an address. A basic syntax check looks for obvious structural problems. Verification asks a mail system whether a mailbox exists. This tool does the first two only.
Key Features of This Email Address Extractor
- Three extraction modes: balanced, strict, and obfuscated.
- Pasted text input and local reading of .txt, .csv, .tsv, .html, .htm, .json, .xml, .log, .md, and .eml files up to 5 MB.
- Pattern-based email parsing with boundary handling for brackets, quotes, commas, semicolons, and line breaks.
- Source line numbers, column positions, and highlighted context snippets for each occurrence.
- Occurrence counts and case-insensitive duplicate handling that preserves the first spelling.
- Optional lowercase normalization of the results.
- Domain allowlists and blocklists with optional subdomain matching, plus a domain dropdown and custom domain filter.
- Search, sorting, syntax-status and repetition filters, and paginated results.
- Basic syntax checks that flag common structural problems.
- Output as one-per-line, comma, semicolon, or space-separated text, CSV, and JSON, with copy and download actions.
How to Use the Email Address Extractor
- Paste the source content into the input area, or load a supported file.
- Select the extraction mode that matches your content.
- Click Extract Email Addresses.
- Review the total occurrences and unique addresses in the statistics.
- Open the source context to see line numbers and surrounding text.
- Choose duplicate handling and apply domain filters.
- Search, sort, and select the rows you need.
- Pick an output format and options.
- Copy or download the final results.
Your original content stays in the input area until you clear or replace it. Removing, filtering, or normalizing results never edits the source text, and you can extract again after changing it.
Extraction Modes Explained
Balanced extraction
Balanced mode is the default. It recognizes common address shapes such as [email protected], [email protected], and addresses on subdomains, and it accepts international letters. It is a good choice for mixed content. Its limitation is that it will also pick up some look-alikes, such as image names like [email protected] or addresses with a trailing dot, which the syntax check then flags.
Strict extraction
Strict mode applies tighter rules: ASCII characters, no dots at the start or end of the local part, no doubled dots, valid domain labels, and an alphabetic top-level domain that is not a common file extension. It also rejects matches stuck to other word characters. It reduces accidental matches in noisy text, but it can miss unusual yet legitimate addresses, including those with international characters.
Obfuscated email extraction
This mode runs balanced extraction and then looks for deliberately written forms such as alex [at] example [dot] com, support (at) company (dot) org, and contact at example dot com. Substitutions are conservative: plain-word "at" is accepted only when the domain is also written with "dot", and a few common words are skipped. The results show the original text and the normalized address. Review these carefully, because prose can occasionally resemble an obfuscated address.
In every mode, detection is based on practical patterns, not every rule in the email standards. Review results for missed addresses and false positives.
Extracting Addresses From Different Sources
- Plain text: paste notes, documents, or chat exports directly.
- Email messages: headers and bodies work, including
Name <address>forms. - Email signatures: paste the signature block to collect contact addresses.
- CSV and TSV data: addresses are found in any column, separated by commas or tabs.
- HTML source: mailto links and visible addresses are found. Tags are not rendered or executed.
- JSON and XML: addresses inside values and attributes are found.
- Technical logs: useful for locating addresses with their line numbers.
- Markdown: addresses in text and links are found.
- Copied webpage content: copy the page text, then paste it.
- Supported files: .txt, .csv, .tsv, .html, .htm, .json, .xml, .log, .md, and .eml, read locally.
The tool does not visit URLs, log in to accounts, or read mailboxes. PDF and Word files are not supported; copy their text and paste it instead. Scanned documents without selectable text cannot be read.
How Source Context Helps
Each result records the line number, column, and a short snippet around the match, with the address highlighted. This lets you check where an address came from without searching the source yourself, and it helps you spot false positives, such as an address inside a code comment or a log line you did not expect.
Source context is built from your original input. Long lines are shortened around the match, and the snippet is shown as plain text. When you keep all occurrences, each appearance is its own row. When you show unique addresses, each address appears once with its total count and every location available to expand.
Removing Duplicate Email Addresses
Duplicates are common in contact exports, long message threads, repeated signatures, and merged datasets. The same address may also appear with different capitalization, such as [email protected] and [email protected].
By default the extractor compares addresses case-insensitively, keeps the first occurrence's original spelling, and shows how many times each address appeared. You can switch to keeping every occurrence, turn off case-insensitive comparison, or normalize the results to lowercase. Deduplication changes the result list only. The original input text is never modified.
Filtering Email Addresses by Domain
Domain filters let you include or exclude whole organizations. An allowlist keeps only the domains you list. A blocklist hides the domains you list, and it wins when a domain appears in both. Exact matching compares the whole domain. With subdomain matching on, a rule also covers subdomains.
For example, an allowlist containing example.com includes [email protected]. With exact matching it excludes [email protected]. With subdomain matching enabled, both are included. You can also pick one domain from the dropdown or type a custom domain filter.
Filters are views, not deletions. The excluded count is shown, and you can clear the filters to see everything again. Domain filtering organizes data. It does not verify who owns a domain or whether a mailbox exists.
Email Address Extraction vs Email Verification
| Task | This tool | Needs a verification service |
|---|---|---|
| Finding addresses in text | Yes | No |
| Extracting multiple addresses | Yes | No |
| Identifying duplicates | Yes | No |
| Checking basic syntax | Yes, pattern checks only | Usually included |
| Checking whether a mailbox exists | No | Yes |
| Testing deliverability | No | Yes |
This tool performs extraction and basic syntax checks only. It does not contact mail servers, look up domains, or send messages.
Output Formats and Export Options
- One per line: the simplest list, good for spreadsheets and further text processing.
- Comma-separated and semicolon-separated: single-line lists that many applications accept in address fields.
- Space-separated: a compact single-line list.
- CSV: structured table data with a header row. Values containing commas, quotes, or line breaks are escaped.
- JSON: structured data for scripts, with optional domain, occurrence count, line numbers, and context.
Downloads are available as TXT, CSV, and JSON. A separate CSV download lists every occurrence with line, column, and source context. Occurrence counts and context are useful when you need to audit where addresses came from.
Common Email Extraction Problems
- Surrounding punctuation: commas, brackets, and quotes are excluded, but a trailing sentence period joined to the next word can cause odd results.
- Unusual address formatting: quoted local parts or rare special characters may be missed.
- Obfuscated addresses: only common written patterns are recognized, and only in obfuscated mode.
- Capitalization differences: the same address may appear twice until case-insensitive comparison is on.
- Invalid syntax: some matches, such as an address ending in a dot, are flagged by the syntax check.
- HTML-encoded content: encoded characters, such as an at sign written as an entity, are not decoded. Decode the text first.
- Many unrelated symbols: noisy text can produce false positives, so strict mode may help.
- Scanned documents: images of text have no selectable characters to extract.
Pattern-based extraction cannot be perfect. Review the results, especially before using them for anything important.
Privacy and Browser-Based Processing
Reading files, extraction, filtering, previews, copying, and downloads all happen locally in your browser. The code on this page does not send your source text or extracted addresses to a server, does not call external services for processing, and does not store results.
That does not guarantee absolute privacy. Local processing depends on your device and browser being secure, and clipboard contents and downloaded files are stored on your device. Avoid using shared or untrusted computers for sensitive data.
Responsible Use of Email Addresses
Extracting an address does not give you permission to contact its owner. Email addresses can be personal information, so handle them carefully and follow the privacy, consent, and anti-spam rules that apply to you. Extracted addresses are not verified, not necessarily consented marketing contacts, and not guaranteed to be deliverable.
If you write to people with whom you have a legitimate relationship, our Email Templates can help you draft clear, respectful messages.
Related Emailyy Tools
More tools for writing, building, and organizing email.
Frequently Asked Questions
What is an email address extractor?
An email address extractor scans text and pulls out strings that look like email addresses. This one also shows where each address appeared, counts duplicates, filters by domain, and exports the results.
Is this email address extractor free?
Yes. It is free to use, with no account, signup, or payment required.
How do I extract email addresses from text?
Paste your text into the source box, choose a mode, and click Extract Email Addresses. The results appear below with statistics, source context, and export options.
Can I extract multiple addresses at once?
Yes. The tool finds every address in the content, up to 200,000 occurrences per extraction, and handles addresses separated by commas, semicolons, tabs, spaces, or line breaks.
Can I upload a file to extract email addresses?
Yes. Choose a file or drag it onto the upload area. It is read locally in your browser, up to 5 MB, and loaded into the editable source box before you extract.
Which file formats are supported?
Text-based files: .txt, .csv, .tsv, .html, .htm, .json, .xml, .log, .md, and .eml. PDF and Word files are not supported, so copy their text and paste it instead.
Can I extract addresses from HTML source code?
Yes. Paste the HTML or load an .html file. Addresses in mailto links and visible text are found. The code is treated as plain text and is never executed.
Can I find email addresses inside CSV data?
Yes. Paste CSV or TSV rows or load a file. Addresses are found in any column, and the line number shows which row contained each one.
Can I remove duplicate email addresses?
Yes. Choose unique addresses only to show each address once with an occurrence count. Comparison is case-insensitive by default, and the first spelling is kept. Your source text is not changed.
Can I filter addresses by domain?
Yes. Use the domain dropdown, a custom domain filter, or allowlist and blocklist fields. Optional subdomain matching also covers addresses such as sales.example.com when you allow example.com.
Can I see where an email address was found?
Yes. Each result shows its line number and a highlighted snippet of surrounding text. Repeated addresses list all of their locations.
What is the difference between strict and balanced extraction?
Balanced extraction finds common addresses, including international characters, and flags questionable ones. Strict extraction uses tighter ASCII-only rules and boundaries to reduce accidental matches, but it may skip unusual legitimate addresses.
Can this tool detect obfuscated email addresses?
Yes, in obfuscated mode. It recognizes common forms such as alex [at] example [dot] com and shows both the original text and the normalized address. Rarely, ordinary prose may resemble one, so review these results.
Can I download email addresses as a CSV file?
Yes. Download CSV exports your current scope and options with a header row and correct escaping. A separate download adds source context for every occurrence.
Can I export extracted addresses as JSON?
Yes. The JSON export is an array of objects containing the address and, if selected, its domain, occurrence count, line numbers, and context.
Does the tool verify whether an email address exists?
No. It performs extraction and basic syntax checks only. It does not contact mail servers, so it cannot tell whether an address exists, accepts messages, or can be safely contacted.
Does this tool send my content to a server?
No. Extraction, filtering, previews, and exports run in your browser, and the page contains no code that sends your content anywhere. Your device and browser still need to be secure.
Can I extract email addresses directly from a website URL?
No. The tool does not fetch URLs or visit websites. Copy the page text or source from your browser and paste it into the source box.
Can I use this tool on mobile?
Yes. The layout is responsive, and results switch to a card-style layout on small screens.
Why might an email address be missed?
The tool uses practical patterns, so unusual formats, quoted local parts, encoded characters, unusual obfuscation, or text from scanned images may not be detected. Strict mode also skips international characters.
Can I extract email addresses without installing software?
Yes. The tool runs in a modern web browser with nothing to install.
Is it always permitted to collect extracted email addresses?
No. Rules on collecting and contacting people vary by place and purpose. Extracting an address does not grant permission to send unsolicited messages, so follow applicable privacy, consent, and anti-spam requirements.