Email Extractor
Pull every address out of a page of text, including the obfuscated ones.
Free, no signup, no limits
ana.ferreira@acme.com bob@acme.com carol@other.io dev@acme.com erin+billing@sub.example.co.uk
By domain
How to extract email addresses from text
Paste it on the left. Every address appears on the right, deduplicated, with the domains listed underneath so you can see which organisations are in there.
Two copy buttons, because the two things people do next need different formats: one per line for a spreadsheet, comma separated for an email client.
Obfuscated addresses are handled
name [at] company [dot] com exists specifically to defeat a pattern match.
Anyone who has published a contact page has done it.
Those forms are undone before the search runs, so an address written that way comes out as an address. Square brackets, round brackets, braces and capitalised AT and DOT are all covered.
The bare form is deliberately not. "bob at acme dot com" is indistinguishable from an ordinary sentence, and matching it turns "meet me at lunch tomorrow" into something that looks like data. A tool that invents entries is worse than one that misses a few, because you cannot tell by looking which is which.
The punctuation around an address
Text is not a list, so an address in it arrives wearing whatever the sentence put there.
A full stop at the end of a sentence, a comma before the next name, a bracket that was wrapping the address rather than part of it. All of them get trimmed, which sounds obvious and is the thing most simple extractors leave in. An address ending in a full stop bounces, and it bounces silently.
Duplicates go, and case does not save them
Ana@Acme.com and ana@acme.com reach the same inbox, so keeping both is not
a deduplicated list.
The version kept is the first spelling in the text rather than a lowercased one, because rewriting the survivor is a decision this tool has no business making. If you want them normalised, the case converter does that in one step afterwards.
Grouped by domain
The list of domains under the addresses is usually the more interesting half. Pasting a thread, an attendee list or a scraped page and seeing that eleven of the fourteen addresses share one domain tells you something the flat list does not.
What else is in that text
The URL extractor does the same job for links, and strips the tracking parameters on the way out.
If the addresses came from several sources and you want them tidied into an importable list, the duplicate line remover will show you which ones appeared more than once across the merge.
Everything runs in your browser. Nothing is uploaded.
Frequently asked questions
More Text tools
Everything else in the Text toolbox.
Something missing here?
If this tool almost does what you need, say what is missing. That is usually how the next version gets built.