FileGizmo Text tools

Extract email addresses from text

Pull every email address out of a thread, signature block or pasted page, with duplicates removed and the first spelling kept. Nothing is uploaded.

Never uploadedYour file stays on this device

Simple by design

Extract email addresses in three steps

Pulling the addresses out of a long thread, a forwarded chain, an exported signature block or a page of copied text is a small job that becomes tedious the moment there are more than a dozen of them.

It is also a job worth thinking about before pasting a list of real people’s addresses into a website. An online extractor receives every address you give it, and a list of contact details is exactly the sort of thing that should not be handed to an unfamiliar server in exchange for saving two minutes. FileGizmo runs the extraction in this tab. Nothing is uploaded, and there is no request to inspect, because the page has no path to make one.

The matching looks for the real shape of an address: a local part, an at sign, and a domain with at least one dot in it. That is deliberately a shape test rather than a validity test. No offline tool can tell you whether a mailbox exists, and one that claimed to would be guessing. What the shape test does reliably is separate addresses from the surrounding prose, punctuation and markup they are usually embedded in.

Duplicates are removed by default, and the rule for which copy survives is the one this site uses everywhere: the first occurrence wins. Matching ignores case, because Ada@Example.com and ada@example.com are the same mailbox, but the version returned is the spelling that appeared first rather than the last one seen. That distinction sounds academic until a name has been typed with a capital letter on purpose.

Sorting is available and off by default, because the order addresses appear in a thread often carries information: who was on the original message and who was added later.

The pattern behind all of this is written to be linear. It contains no quantifier nested inside another quantifier, which is the shape that turns a harmless-looking expression into one that takes four times as long for twice the input. A large paste is slow in proportion to its size and no worse.

The result reports how many addresses were found and how many duplicates were removed, so a list that came back shorter than expected explains itself. Copy the list, or download it as a plain text file.

  1. 1

    Paste an email thread signature block or page of text

  2. 2

    Choose whether to remove duplicates and sort the result

  3. 3

    Press Extract addresses and copy or download the list

Good to know

Frequently asked questions

Which spelling survives when an address appears twice?

The first one. Duplicate matching ignores case, so Ada@Example.com and ada@example.com are one address, and the version kept is the one that appeared first in the text.

Does it validate the addresses?

It matches the shape of an address rather than checking that the mailbox exists, which no offline tool can do. Anything without an at sign and a dotted domain is not returned.

Is a very large paste safe?

Yes. The pattern is written without nested quantifiers, so the time it takes grows in proportion to the length of the text rather than faster than it.

Where do the addresses go?

Nowhere. They are extracted in this browser tab and never sent anywhere, which is the entire reason to use a local tool for a list of contact details.

Learn more

Related guides

Text guideTurning a page of text into a list you can usePulling addresses or links out of prose, removing the duplicates without losing the right spelling, and formatting the result for wherever it has to go next.