Extract email addresses from text

Paste any text and get its email addresses, one per line. Nothing leaves your browser.

How it works

  1. Paste text that contains email addresses
  2. Choose unique, sort and lowercase
  3. Copy the list of addresses

What counts as an email address

The tool uses a practical pattern, not the full email standard. An address is a name part, an at sign and a domain. The name part is 1 to 64 characters of letters, digits and the symbols . _ % + and a hyphen, and it cannot start with a dot. The domain is one to ten labels of letters, digits and hyphens separated by dots, ending in a part of 2 to 24 letters, such as com or co.uk. Accented and non-Latin letters are accepted, so josé@exemplo.com is found. Quoted names such as a name in quotation marks before the at sign, and rarely used symbols like ! or #, are not matched. Addresses with no dot in the domain, such as name@localhost, and addresses ending in a number are skipped.

Punctuation around addresses

Text around an address is left out. A full stop or comma after an address, angle brackets around it, parentheses, quotes and a mailto: prefix are not part of the result. So an address in angle brackets followed by a full stop gives only the address. If an address is stuck to letters before it, such as abcana@example.com, the whole word is the name part. A name part longer than 64 characters is cut to its last 64. This pattern can also pick up text that looks like an address but is not one, for example a file name like logo@2x.png, so check the list before you use it for mailing.

Unique, sorting and case

Unique only is on by default. Two addresses are the same when they differ only in letters of different case, since domains ignore case and almost every mail provider does too. The first spelling you pasted is kept. Turn Unique only off to keep every match in the order found. Sort A to Z orders the list ignoring case. Lowercase turns every address into lower case, and with it on the list shows only lower case spellings. The two result numbers are the addresses in the list and the number found in total before duplicates were removed.

Privacy and limits

The search runs in this tab. The text is not uploaded, saved or put in the page address. Only your three choices are remembered in this browser. Text up to 1,000,000 characters is handled, and a very long text follows your typing after a short pause. The tool finds addresses; it does not check that a mailbox exists or send anything.

Frequently asked questions

Does it check that an address really exists?

No. It only finds text shaped like an address, such as ana@example.com. It does not contact any mail server, so a typo like ana@exmple.com is listed like any other.

Why is name@localhost not found?

The domain must contain a dot and end in at least 2 letters, such as example.com. Addresses used inside a private network, like name@localhost or name@server, are skipped.

Are Ana@x.com and ana@x.com one address?

With Unique only on, yes. They count as the same and the first spelling you pasted stays. Turn Lowercase on to show the list in lower case, or Unique only off to keep both.

Can I extract emails from a CSV or a long email thread?

Yes. Paste the file contents or the whole thread, up to 1,000,000 characters. Commas, semicolons, angle brackets and line breaks around the addresses are ignored, so From and Cc lines work.

Why did it also list something that is not an email?

The pattern accepts any name, at sign, dot and letters shape. A file name such as logo@2x.png matches, because png looks like a domain ending. Remove such lines from the result by hand.