Skip to main content

Extract Emails from Text – Free Tool

Paste any text to extract every email address it contains, deduplicated and listed one per line, ready to copy. Runs in your browser, nothing is uploaded.

Feedback

Key Features

  • Finds addresses anywhere in messy text
  • Handles dots, plus tags and multi-level domains
  • Deduplicates case-insensitively
  • Outputs one address per line
  • Nothing is uploaded: extraction is local

Benefits

  • Build a recipient list out of a thread or a document in seconds
  • Salvage addresses from exports that lost their structure
  • Paste the result straight into a mail client or spreadsheet
  • Keep the source text private while you do it

How to use this tool

Paste any text that contains email addresses

Click Process

Copy the one-per-line list

Extracting email addresses, and why a simple pattern is wrong

Pulling addresses out of a block of text seems like a single pattern match, and the pattern everyone writes first is wrong in both directions: it misses valid addresses and it captures things that are not addresses at all.

It misses more than people expect because the real specification is permissive. Plus-addressing, the form used for filtering, is valid and is sometimes dropped by naive patterns. Subdomains are valid. Newer top-level domains are long, so a pattern assuming two to four letters after the final dot fails on them. Internationalised addresses using non-Latin characters are valid and almost never matched.

It captures the wrong things just as readily. A version string or a file path with an at sign in it. A social handle written as @name followed by a domain elsewhere in the sentence. An address that has been deliberately obfuscated as name at example dot com, which a human reads and a pattern does not. Trailing punctuation is the most common defect of all: an address at the end of a sentence captures the full stop, and the result is an address that is subtly invalid everywhere it is used.

After extraction, the work is usually deduplication, and the same-list problem applies with a twist. Addresses are effectively case-insensitive, so two spellings are one person and should be merged. Whitespace and invisible characters defeat naive equality, so cleaning before deduplicating is what makes it work.

Worth stating plainly: extracting addresses from a page you do not own, to contact people who did not ask to be contacted, is what anti-spam law exists to prevent, and it is a poor use of anyone's time. The legitimate uses are your own data: pulling recipients out of a thread you are part of, recovering a list from an export, or auditing where addresses appear in a document before sharing it.

The extraction runs in your browser, which for this tool is the whole point, since the input is by definition a list of people's contact details.

Frequently Asked Questions

Does it validate that the addresses exist?

No. It extracts strings shaped like addresses; whether a mailbox answers is only knowable by sending to it.

Is the text sent anywhere?

No. The extraction runs in your browser, which matters precisely because this kind of text is often private.

Related tools

Need this in a script?

The same tool answers on HTTP. Free, 1,000 calls a day, no card, and one token works across every Astral API.

POST https://astraltext.com/api/v1/extract-emails

Extract email addresses APIGet a free token