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
- 1Paste your mixed text / CRM export / form dump into the input panel
- 2Default regex matches the common email shapes
- 3Tighten the pattern with `^...$` anchors for email-only lines
- 4Toggle Invert to drop email-containing lines (PII scrubbing)
- 5For just the email substring, chain Replace with a capture group
Keyboard shortcuts
Drive ListShift without touching the mouse.
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.
[email protected] Jane Smith [email protected] 123-456-7890 [email protected]
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 |