Email Address Extractor

Pull every email address out of pasted text or HTML — deduplicated, sorted, one per line, ready to copy or download as a list.

1,103 views

How It Works

The extractor scans your pasted text with a regular expression that looks for the shape local-part@domain — a sequence of allowed characters, an @ sign, then a domain with at least one dot, matching how email addresses are almost always written. Paste a scraped web page, an exported mailing list, or a long email thread, and every string matching that pattern is pulled out, deduplicated case-insensitively, sorted alphabetically, and listed one per line. This handles messy real-world input without any extra cleanup on your part: addresses mixed into surrounding sentences, embedded inside HTML attributes such as mailto: links, or scattered across dozens of paragraphs in a large document dump are all found the same way.

The regex used here is a simplified, practical approximation of RFC 5322 — the actual technical specification for what counts as a valid email address. That's a deliberate choice, not a shortcut born of laziness: writing a single regular expression that is fully RFC 5322-compliant, catching every technically valid address while never matching an invalid one, is close to impractical. A fully compliant pattern can run to thousands of characters and has to account for rare but legal edge cases — quoted local parts like "john doe"@example.com, or domains written as bracketed IP addresses like user@[192.168.1.1] — that essentially never appear in real-world text. Every practical extraction tool, this one included, trades that last fraction of a percent of theoretical coverage for a pattern that stays fast, readable and reliable on the 99%+ of addresses people actually write.

What to Know

  • It matches format, not existence. An address can look perfectly valid and still bounce — the tool has no way to check if a mailbox is real, active, or accepting mail.
  • Duplicates are merged case-insensitively. [email protected] and [email protected] are treated as the same address and listed once.
  • Everything runs locally. The matching happens in your browser with JavaScript — no text is uploaded or stored anywhere.
  • Edge cases can slip through. Obfuscated addresses (like "name [at] domain [dot] com", written to dodge scrapers) won't match, since they intentionally don't look like standard email syntax.
  • It's built for real extraction tasks. Pulling contact addresses off a scraped page, cleaning up a pasted mailing list, or checking how many unique addresses are buried inside a long forwarded email thread are all typical uses.

Frequently Asked Questions

Why use a "simplified" pattern instead of the fully correct one?

Because a fully RFC 5322-compliant regular expression is impractically complex — potentially thousands of characters — to cover edge cases like quoted local parts or IP-address domains that virtually never occur in real text. A simplified pattern catches over 99% of real-world emails while staying fast and predictable, which is the actual goal of an extraction tool.

Does it verify that the extracted addresses actually work?

No. It only checks that a string has the shape of an email address — characters, an @ sign, a domain with a dot. Whether the mailbox exists, is spelled correctly, or still receives mail is outside what pattern matching can tell you; for actual deliverability you would need to send a real test message or use a dedicated verification service.

What happens with duplicate addresses in my text?

Any address that appears more than once, in any mix of uppercase and lowercase, is recognized as the same address and included only once in the final sorted list.

Will it catch an email written as "name at domain dot com"?

No — that format is intentionally used by people trying to hide addresses from automated scrapers, and it doesn't match the standard local-part@domain structure the regex looks for. Only addresses written in normal syntax are extracted.

Is my pasted text sent anywhere?

No. The whole extraction process — matching, deduplicating, sorting — runs client-side in your browser using JavaScript. Nothing you paste is transmitted to a server or stored.

Comments

No comments yet — be the first to write one!

Similar Tools