Email & Phone Extractor

Find, deduplicate and export every email address and international phone number — instantly.

Drop a .txt / .csv / .md / .pdf file here, or click to browse
100% in your browser. Files never leave your device.
or
No input yet 0 chars
    Paste some text or drop a file to see extracted emails and phone numbers here.

    What is the Email & Phone Extractor?

    A free, browser-based extractor that scans pasted text or any dropped .txt, .csv, .md or .pdf file and pulls out every email address and international phone number — deduplicated, normalised to E.164, country-tagged and exportable as CSV or JSON. Nothing is uploaded; every match runs locally in your browser with Google's libphonenumber-js and a practical RFC 5322 email parser.

    How do I extract every email address and phone number from text or a PDF online for free without uploading?

    Paste the text or drop the file. Emails and phone numbers appear instantly in two tabs, deduplicated and ready to copy or download. Phone numbers are parsed with Google's libphonenumber-js for correct country detection and E.164 normalisation; emails are parsed with an RFC 5322 regex and decoded from common obfuscations like [at], (at), @ and %40. The whole tool is client-side, so your contact lists never leave your device.

    Key features

    Email + phone in one pass
    Two tabs, two parsers, one paste or drop. Switch instantly between emails and phone numbers without re-running anything.
    libphonenumber-js for accuracy
    Phone numbers go through Google's libphonenumber-js — the same library powering Android — so you get correct country detection, E.164 normalisation and validity flags for 200+ countries.
    Obfuscation-aware emails
    Decodes common scrambling tricks like alice [at] example [dot] com, HTML entities (@) and percent-encoded URLs (%40) before matching, so scraped or anti-bot text still yields real addresses.
    Dedup + sort + counts
    Case-insensitive dedup on emails, E.164 dedup on phones, alphabetical sort and live count badges on each tab.
    .txt, .csv, .md and .pdf input
    Drag any text-bearing file. PDFs are parsed with PDF.js in the background, so even multi-page reports yield emails and phones.
    CSV + JSON export, per-row copy
    Export the active list as RFC 4180 CSV or pretty JSON, or copy any single match (or the whole list) to the clipboard with one click.

    How to use it

    Paste your text in the left box, or drop a .txt, .csv, .md or .pdf file on the upload zone. Emails and phone numbers are extracted live and grouped into two tabs with live counts. Switch tabs, copy single rows or the full list, or download as CSV / JSON. Use Clear to reset. Nothing is uploaded — everything runs in your browser.

    Frequently asked questions

    Are my emails and phone numbers uploaded anywhere?

    No. Extraction is 100% client-side using JavaScript regex for emails and Google's libphonenumber-js for phones. Pasted text and dropped files never leave your browser, so it's safe to use with private contact lists.

    Which phone number formats does it detect?

    It uses libphonenumber-js (the same library Android uses) and detects every international phone number starting with a country code (e.g. +1, +44, +90, +49). Local-format numbers without a country code can be detected when you specify a default country in your input or context.

    Why does it skip a 4-digit number that looks like a phone?

    Standalone 4-digit numbers between 1900 and 2099 are treated as years to avoid false positives. Real phone numbers require at least 7 digits and a recognisable international or local pattern.

    Can it read PDFs and CSVs?

    Yes. PDFs are parsed with PDF.js to extract text from every page. CSV and TXT files are read directly. The first extraction may take a moment because the PDF library is loaded on demand.

    Does it deduplicate similar numbers and emails?

    Yes. Emails are deduplicated case-insensitively (alice@x.com and Alice@X.com merge into one entry). Phones are normalised to E.164 first, so +90 532 123 45 67 and +905321234567 are treated as the same number.

    Built by the Toolbox team using a practical RFC 5322 email regex, Google's libphonenumber-js (v1.13+) for phone parsing and Mozilla's PDF.js for PDF text extraction — all wrapped in vanilla JavaScript with zero network calls so the tool also works offline.