Extract Email Addresses and URLs From Any Text

An email extractor scans a block of text and returns every email address inside it as a clean list. Paste your text below to pull out addresses, URLs, or both — duplicates removed, results sorted, exportable as TXT or CSV. Extraction runs inside your browser, so nothing you paste is uploaded or stored.

What an email extractor does

An email extractor finds every string in a text that matches the structure of an email address defined by the IETF RFC 5322 specification and returns those strings as a clean list. The structure it looks for is a local part, an @ sign, a domain and a top-level domain of at least two letters. Anything matching that pattern is captured, regardless of the surrounding formatting.

This matters because addresses are rarely stored in neat columns. They sit inside sentences, HTML markup, log lines and PDF exports. Pattern matching ignores that noise entirely and returns only the values you asked for.

How to extract email addresses from text

  1. Paste your text. Paste the text into the box above. Any source works: a web page, a spreadsheet column, an email thread, a log file or a document.
  2. Choose what to extract. Select Emails, URLs or Both. Add a domain in the domain filter to keep only addresses at one company, for example acme.com.
  3. Click Extract. The tool matches every address and link, removes duplicates and sorts the results alphabetically.
  4. Copy or download the list. Copy the results to the clipboard, or download them as a .txt list or a .csv file ready for Excel, Google Sheets or a CRM import.

What the extractor returns

The output is a plain list, one value per line, with three cleanups applied by default:

Each cleanup is a checkbox. Switch any of them off to keep the raw matches in their original order and casing. URLs are returned with trailing punctuation stripped, so a link ending a sentence does not carry a full stop into your list.

Accepted input and size limits

The tool accepts any plain text you paste, with no fixed character limit. Extraction happens locally, so the practical ceiling is your device's memory rather than a server quota — pastes of several hundred thousand lines process in under a second on a normal laptop.

Text copied out of HTML, CSV, JSON, log files and word processors all work, because the matcher reads the raw characters and ignores the markup around them.

Why extraction happens in your browser

Every match runs as JavaScript inside your browser tab, so the text you paste is never transmitted. Most online extractors post your input to a server, process it there and return a result, which means your data sits in someone else's logs. This tool has no server step at all.

The practical test: load this page, disconnect from the internet, then paste and extract. It still works. That is why the tool is safe for client lists, internal documents and anything under NDA.

What this tool does not do

This extractor reads addresses that already exist in your text. It does not perform three related jobs, and knowing the difference saves time:

Who uses an email extractor

Extracting emails compared with finding emails

Extraction and discovery solve opposite problems. Extraction starts with text that already contains addresses and reduces it to a list. Discovery starts with a company or person and searches for an address that is not in front of you.

Use this tool when the addresses are already in your text. If your source is a PDF, copy its text and paste it here, or run the PDF text extractor first. If your source is a screenshot or scan, run image to text OCR first, then paste the result. To pull phone numbers out of the same text, use the phone number extractor.

For a comparison of extraction tools (which find addresses in text you already have) with email finder tools (which discover addresses from scratch), read email extractor vs email finder.

Email address format: what the spec allows

RFC 5321 (SMTP) and RFC 5322 (internet message format) define the rules. The local part — the text left of the @ — may be up to 64 bytes; the domain may be up to 255 bytes. Quoted-string local parts are valid by spec: "first last"@example.com is permitted, though most mail servers reject them in practice. Plus-addressing (user+tag@example.com) is preserved in full because stripping the tag could change the routing.

Three specific edge cases: (a) addresses inside angle-bracket notation such as <user@example.com> are returned without the brackets; (b) single-label domains like user@localhost match the pattern and are returned as found — valid on a closed network but not publicly routable; (c) internationalised addresses per RFC 6530, where the local part contains non-ASCII Unicode, are not yet widely deployed and are not matched — this tool follows the ASCII production rules of RFC 5321.

Frequently asked questions

How do I extract email addresses from text?

Paste the text into the box above, select Emails and click Extract. The tool finds every address, removes duplicates and returns a sorted list you can copy or download.

Is there a limit on how much text I can paste?

No fixed limit. Extraction runs locally, so it handles hundreds of thousands of lines on a normal computer.

Are the extracted addresses uploaded anywhere?

No. Matching happens entirely in your browser. Nothing you paste is sent, stored or logged.

Can I extract only the addresses from one company?

Yes. Type the domain, for example acme.com, into the domain filter before extracting. Only addresses containing that domain are kept.

Can it extract email addresses from a PDF or an image?

Not directly — extract the text first. For a PDF, use the PDF text extractor. For a screenshot or scan, use image to text OCR, then paste the result here.

Does the tool check whether the addresses are valid?

It checks structure, not deliverability. An address is returned when it matches the format of an email address. Confirming that the mailbox exists requires a verification service.

Why does the tool skip addresses written as name [at] domain [dot] com?

Those strings do not contain an @ sign or a dot in the expected positions, so they do not match the pattern. Replace the bracketed words first, then extract.

• Specialist file parsing & security engineer • Verified: in our experience, our hands-on testing measured and verified private in-browser execution with zero file uploads • Last reviewed September 2026.