Find emails in a list

Extract email addresses from CRM exports, leaked dumps, form submissions, or any mixed text - paste the list and keep only lines containing an email. Default regex `[\w.+-]+@[\w-]+\.[\w.-]+` catches the common shapes including plus-addressing. For just the email substring, chain Replace with a capture group.

Input
Ready
Output
Live

A regex filter pre-tuned for emails

The default pattern is a practical approximation, not RFC 5321-strict. It catches `[email protected]`, plus-addressed forms (`[email protected]`), dotted subdomains, and dashed hostnames. Quoted local parts and IP-literal hostnames are NOT covered - customize the pattern if you need RFC edge cases.

For stricter matching where the email must be the entire line, anchor with `^` and `$`: `^[\w.+-]+@[\w-]+\.[\w.-]+$`. For domain-specific filtering, replace the domain part: `[\w.+-]+@(?:example\.com|partner\.org)$`.

Invert flips the filter from keep-emails to drop-emails - useful for stripping PII from a text dump before sharing externally, or for filtering out email noise from log analysis.

How to use find emails in a list

  1. 1Paste your mixed text / CRM export / form dump into the input panel
  2. 2Default regex matches the common email shapes
  3. 3Tighten the pattern with `^...$` anchors for email-only lines
  4. 4Toggle Invert to drop email-containing lines (PII scrubbing)
  5. 5For just the email substring, chain Replace with a capture group

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Line-level email filter. Three knobs: pattern, invert, case sensitivity.

Keeps lines containing an email

The default regex catches embedded emails - a line like `Contact: [email protected] for info` is kept. To force email-only lines, anchor the pattern with `^` and `$`.

Handles plus-addressing and subdomains

Matches `[email protected]`, `[email protected]`, and dash-hostname forms. Quoted local parts (`"john doe"@x.com`) are NOT covered by default.

Invert for PII scrubbing

Toggle Invert to REMOVE email lines. Useful before sharing a log or chat dump externally - strip identifiable email addresses in one pass.

Domain-specific patterns

Keep only emails from one domain: set pattern to `[\w.+-]+@yourdomain\.com`. Reject specific domains via Invert + domain pattern. Chain with Dedupe to collapse duplicate addresses.

For just the email text, chain Replace

This tool keeps whole lines. To extract only the email substring, run this filter first, then Replace with regex `.*?([\w.+-]+@[\w-]+\.[\w.-]+).*` and replacement `$1`.

Common use cases

Concrete scenarios where a pre-tuned email filter beats ad-hoc grep.

CRM and CSV exports

Messy exports from Mailchimp, HubSpot, or ad-hoc spreadsheet dumps often mix emails with names, tags, and timestamps. Filter keeps only email-bearing rows; chain Dedupe to collapse duplicates before the next campaign.

Leaked or scraped data audits

Paste a credential dump or scraped contact page and isolate just the email rows. Combine with domain filtering to check if any company emails appear (`[\w.+-]+@yourco\.com`).

PII scrubbing before sharing

Need to share a log segment or chat export without addresses? Toggle Invert - output is every line that does NOT contain an email, ready to paste into a ticket or doc.

Form submission dumps

Contact form or signup webhook logs often include email alongside metadata. This filter surfaces just the email-bearing entries for quick review or re-import.

Worked example

Example showing email extraction from a list of mixed contents.

Settings reference

How each option shapes the output using the sample above.

Setting What it does Effect on the sample
Match pattern: `[\w.+-]+@[\w-]+\.[\w.-]+` (default), Mode: Regex (default) Keeps lines matching the email regex `[email protected]` / `[email protected]` / `[email protected]`
Invert: on Inverts the filter - drops email lines Keeps `Jane Smith` / `123-456-7890`
Stricter pattern: `^[\w.+-]+@[\w-]+\.[\w.-]+$` Line must be ONLY an email (no surrounding text) A line like `Contact: [email protected]` would NOT match
Case sensitive: on Emails are typically lowercase by convention; toggle affects only pattern matching, not address equivalence Rarely needed for emails - domain part is case-insensitive per RFC

FAQ

What pattern is used to match emails?
Default regex `[\w.+-]+@[\w-]+\.[\w.-]+` - a practical approximation that catches the common shapes (`[email protected]`, plus-addressing, dotted subdomains). It is not RFC 5321-strict.
How do I keep lines where the email is the ONLY content?
Change the pattern to `^[\w.+-]+@[\w-]+\.[\w.-]+$`. The `^` and `$` anchors require the entire line to be the email.
How do I drop email lines instead of keeping them?
Toggle Invert on.
Can I extract just the email addresses (not the surrounding line text)?
No - this tool filters whole lines. For extraction, chain Replace with a regex capture group, or use Regex mode to strip non-email content.
What about weird valid addresses like `"quoted"@example.com`?
The default regex does not match quoted local parts or IPv4/IPv6 hostnames. Customize the pattern if you need RFC-edge-case coverage.