Temp Mail Logo

Temp Mail safeguards your privacy while keeping your inbox free from spam.

📤 Any Text · HTML · CSV · Dedup · Domain Filter · Copy & Download

Email Extractor

Free email extractor tool — paste any text, HTML source, CSV data, or document content and instantly extract all email addresses. Deduplicated, grouped by domain, with one-click copy and download.

✓ RFC 5321 regex✓ Auto deduplication✓ Domain filtering✓ Copy & download✓ 100% client-side✓ No signup
Runs entirely in your browser — no data is sent anywhere.
What this tool does

Free email extractor — extract email addresses from any text online

This email extractor tool uses an RFC 5321 compliant regular expression to scan any input text and identify every valid email address, regardless of the surrounding content or format. Paste plain text, HTML source code, CSV spreadsheets, JSON data, log files, or copy-pasted web page content — the extractor finds all addresses automatically, strips surrounding punctuation, and deduplicates the results.

The tool runs entirely in your browser using JavaScript. No text is transmitted to any server, stored in any database, or logged anywhere. This makes it safe to use with confidential documents, internal communications, and sensitive business data. Processing is near-instant even for large inputs because there is no network round-trip.

Domain grouping and filtering lets you quickly segment results by company or provider — useful when you've extracted emails from a large HTML page and want to isolate contacts from a specific organisation. The Download button exports the current view (filtered or unfiltered) as a plain .txt file with one address per line, directly importable into most CRMs and email platforms.

What the extractor handles
Plain text
Extracts addresses from paragraphs, sentences, lists, and any unstructured text content.
HTML source
Finds emails in href=mailto: links, visible text, attributes, comments, and script tags.
CSV & TSV
Parses emails from quoted and unquoted fields across comma, tab, and pipe-delimited files.
JSON & XML
Extracts from structured data formats — key values, string literals, and text nodes.
Email bodies
Works on forwarded email threads, signatures, and CC/BCC lists copied from your mail client.
Log files
Extracts from server logs, audit trails, and error reports that reference email addresses.
Deduplication
Case-insensitive deduplication — alice@x.com and Alice@x.com count as the same address.
Punctuation strip
Automatically removes brackets (), <>, [], quotes, and trailing . , ; : from extracted addresses.
Examples

What the extractor handles -- input formats and output examples

These examples show what different input formats produce when run through the extractor.

ExtractedPlain prose -- emails embedded in normal sentence text
Input: "Contact Alice at alice@acme.com or reach Bob via b.jones@corp.org" Output: alice@acme.com b.jones@corp.org Count: 2 unique addresses found

The extractor identifies email addresses regardless of surrounding sentence structure or punctuation. Both standard and subdomain formats are captured automatically. Addresses are deduplicated so each unique address appears only once in the output regardless of how many times it occurs in the input text.

ExtractedCSV data -- emails mixed with non-email columns
Input: Name,Email,Department Alice,alice@example.com,Marketing Bob,bob@example.com,Engineering Output: alice@example.com bob@example.com

The extractor ignores all non-email columns and pulls only the email addresses regardless of which column they appear in. It handles comma-separated, tab-separated, and pipe-delimited formats without needing to specify the structure. Paste raw CSV content directly and emails are extracted automatically.

ExtractedHTML source -- emails in mailto links and body text
Input: <a href="mailto:info@example.com">Email us</a> Contact: support@example.com Output: info@example.com support@example.com

The extractor works on HTML source code, pulling addresses from both mailto: href attributes and visible body text. It handles HTML-encoded characters and strips surrounding markup automatically. Useful for extracting contacts from downloaded web pages or exported CRM records in HTML format.

ExtractedPlus-addressing and subdomains extracted correctly
Input: user+newsletter@gmail.com admin@mail.company.co.uk dev+test@sub.domain.org Output: All 3 addresses extracted correctly

Plus-addressing (user+tag@domain.com) and subdomain emails (user@sub.domain.com) are fully supported. Country-code TLDs like .co.uk and .com.au are handled without false positives. The RFC 5321 compliant regex covers the full range of valid address formats.

Not ExtractedMalformed fragments -- missing TLD or local part
Input: "Send to john@ or visit company.com" Output: (no addresses extracted) Reason: john@ has no domain; company.com has no @

The extractor requires both a local part and a valid domain with TLD to extract an address. Fragments like john@ or @company.com are not extracted as they are not deliverable. This prevents false positives from code snippets, template placeholders, and database dumps.

FAQ

Frequently asked questions about email extraction

What is an email extractor?
An email extractor is a tool that scans any block of text and identifies all valid email addresses using pattern recognition based on the RFC 5321 email format standard. It works on plain text paragraphs, HTML source code, CSV spreadsheets, email bodies, log files, or any other content you paste in — extracting addresses regardless of the surrounding formatting. The extractor correctly handles addresses with subdomains, plus-addressing (user+tag@), and country-code TLDs like .co.uk and .com.au.
Does this tool remove duplicate email addresses?
Yes — the extractor automatically deduplicates results. If the same email address appears multiple times in the input, it appears only once in the output. A count badge shows how many times each address was found, which is useful for identifying the most-referenced contacts in a large document. Deduplication is applied before counting, so frequency reflects the number of unique occurrences rather than total raw matches.
Can I filter results by domain name?
Yes — after extraction, domain filter chips appear above the results list. Click any domain to show only emails from that company or provider. The By Domain view gives you a summary of all domains found and how many email addresses each has, making it easy to isolate contacts from a specific organisation. Type a domain in the filter field to show only addresses ending with that domain -- for example, filter by gmail.com to see all Gmail addresses.
Does the extractor work on HTML source code?
Yes — paste any HTML source code and the extractor finds all email addresses in href=mailto: links, visible text, data attributes, comments, and anywhere else they appear in the markup. It also handles JavaScript files, JSON data, and XML documents. Any text containing valid email addresses can be processed -- the extractor is format-agnostic and does not require clean or well-structured input.
Can I extract emails from a CSV file?
Yes — copy the CSV content and paste it into the text area. The extractor scans the entire text and pulls out any strings matching the email format, regardless of column structure, quoting, or delimiters. This works for comma-separated, tab-separated, and pipe-delimited formats. Paste the raw CSV content directly into the tool -- the extractor ignores the non-email columns and pulls addresses from whichever column they appear in.
Is there a character limit on the input?
There is no hard limit. The tool runs entirely in your browser using JavaScript — no data is transmitted to any server. Very large inputs (100,000+ characters) process in under a second on modern devices. Performance may vary on very old or low-power hardware. The extractor processes text in memory without any file upload -- input of up to several megabytes is handled without noticeable delay on modern hardware.
Can I download the extracted email list?
Yes — click the Download .txt button to save all extracted email addresses (or the currently filtered subset) as a plain text file with one email per line. This format is directly importable into most email marketing platforms, CRMs, and spreadsheet applications. The one-per-line output format is compatible with Mailchimp, HubSpot, Klaviyo, and most other platforms that support list import from plain text.
Does it handle email addresses with special characters?
The extractor uses an RFC 5321 compliant pattern that handles the full range of valid characters in the local part (before @): letters, digits, and special characters like + . _ - % # ! = ?. It correctly identifies addresses like first.last@company.com, user+tag@gmail.com, and admin@sub.domain.co.uk. The RFC 5321 compliant regex handles the full range of valid email address formats including quoted local parts and uncommon TLDs.
What happens to punctuation surrounding email addresses?
The extractor strips common trailing punctuation that is not part of an email address — periods, commas, semicolons, brackets, quotes, and angle brackets that often appear in text like (admin@company.com) or <info@org.net>. This prevents false extractions like capturing the closing bracket as part of the domain. The extractor trims common surrounding punctuation such as angle brackets, parentheses, and quotation marks that are not part of the address itself.
Is this tool private — does it store my text?
Yes, fully private. The entire extraction process runs locally in your browser using JavaScript. Your input text and the extracted results are never transmitted to any server, stored in any database, or logged in any way. You can safely use it with confidential documents. No network request is made during extraction -- the entire process runs in your browser's JavaScript engine without any server communication.

Need a disposable email address?Generate a free, instant throwaway — zero signup, zero trace.

Get Free Temp Mail ->