Free Email Extractor — Extract Emails from Text & Files Online
Paste raw text or drop in a file — TXT, CSV, JSON, XLSX, DOCX or PDF. This free email extractor scans everything locally in your browser, decodes obfuscated addresses like name[at]site[dot]com, removes duplicates and hands you a clean list ready to export. No server touches your data — verify it in DevTools.
- 100% in your browser
- No signup · no uploads
- Free to use
drop files here
Results
Nothing processed yet. Add content above and press the action button — everything runs locally in this tab.
History
Optionally remember runs on this device, sealed with your passphrase. Off by default; entries expire after 30 days.
Expires after 30 days; forgetting the passphrase erases access permanently.
How it works
- 01
Add your content
Paste text or drop TXT, CSV, XLSX, DOCX and PDF files into the workspace.
- 02
Run the tool
One press runs the pipeline locally in a Web Worker. Change the options and results update automatically.
- 03
Copy or download
Export results as TXT, CSV or JSON. Your content is never uploaded.
When to use an email extractor
Use the extractor whenever addresses are buried inside something else: a 40-page PDF of invoices, a chat export with thousands of lines, an HTML newsletter archive, a CRM dump where the email column is mixed with notes and phone numbers. Copy-pasting those by hand misses entries and introduces typos; a regex pass over the full text finds every syntactically plausible address in one go, including ones split across line breaks in CSV cells.
Recruiters run it over resume batches, sales teams over lead lists bought as spreadsheets, developers over log files and codebases, researchers over survey exports. The common thread is messy, real-world input where the addresses exist but are not yet a list. If you already have one-address-per-line, skip straight to the Cleaner or Validator instead.
What it actually finds (and what it skips)
The engine matches RFC-inspired patterns with domain-label checks, so john.doe+newsletter@sub.example.co.uk is captured while fragments like user@localhost, broken@@example.com or prices like 10@20 are left out. Trailing punctuation glued on by prose — commas, periods, closing brackets, quotation marks — is trimmed automatically, and mailto: prefixes and angle-bracket wrappers are unwrapped before matching.
Obfuscated addresses written to dodge bots are decoded first: name [at] site [dot] com, user (at) example (dot) org, curly-brace and spaced variants all resolve to real addresses and are counted separately in the summary so you can see how many were recovered. Internationalized display names and HTML entities are normalized before the match pass, which is why pasting raw page source works as well as pasting rendered text.
- Captured: standard addresses, plus-tags, dotted Gmail variants, subdomains, multi-label suffixes like .co.uk and .com.au
- Decoded: [at]/[dot], (at)/(dot), {at}/{dot}, spaced and mixed-case obfuscation
- Skipped: missing TLDs, double-@ typos, bare usernames, single-label domains
Files, limits and privacy model
Text formats (TXT, CSV, TSV, JSON, MD, HTML, LOG, EML, MBOX) are read directly as text, RTF is converted locally, and Outlook .msg files get a best-effort string scan. Excel workbooks (.xlsx, .xls, .xlsm, .ods) are parsed sheet by sheet into CSV rows, Word documents (.docx) are converted to raw text, and PDFs are read page by page with per-page progress and cancellation — all inside your tab via lazily loaded parsers that only download when you drop that file type. Practical limits are your browser's memory, the 30 MB per-file guard and the 8-file workspace cap in the workspace.
Because everything runs in a local Web Worker, the page stays responsive while large inputs process, and you can prove the privacy claim yourself: open DevTools, watch the Network tab, paste a unique canary address and run extraction. No request will contain your content. That architecture is what makes this safe for candidate pools, client lists and research data you could never paste into a hosted extractor.
Extractor workflow that avoids rework
Paste or drop files, enable lower-casing and deduplication, keep obfuscation decoding on unless you are auditing raw text, then run. Scan the summary line — totals found versus uniques tells you how duplicated the source was — before exporting. Heavy-duplicate sources (merged CRM exports) should go through the Deduplicator next for Gmail-aware merging; outreach-bound lists should go through the Validator to flag disposable and role accounts before you send anything.
Export as TXT for quick pastes, CSV with the domain column when you need a spreadsheet pivot, or JSON when a script consumes the list. Keep the source file untouched and treat the exported list as a derived artifact you can regenerate, so corrections upstream never strand you with a stale hand-edited copy.
- Messy multi-source dump → Extractor → Deduplicator → Validator → Formatter
- Single spreadsheet column → Extractor (or Cleaner) → Counter for a sanity tally
- Web page source → paste HTML → Extractor with obfuscation decoding on
Last reviewed: 2026-09-06 · By the Email Extractor Team · About our privacy-first approach
Keep reading
Frequently asked questions
Is my text uploaded to a server?
No. Extraction runs entirely in your browser with JavaScript. You can open DevTools and confirm that no request contains your pasted text, file contents or extracted results.
What file formats can I extract from?
TXT, CSV, TSV, JSON, MD, HTML, LOG, EML and MBOX files are read as text, RTF is converted locally, and .msg files get a best-effort string scan. Excel workbooks (.xlsx, .xls), Word documents (.docx) and PDFs are parsed locally using in-browser parsers — no upload involved.
Can it read obfuscated addresses?
Yes. Common anti-spam tricks such as name [at] site [dot] com, (at), {dot} are decoded before matching, so you still capture addresses hidden from naive scrapers.