A line-level match filter
Every line is tested independently against your pattern. Contains (default) is a substring check. Equals is a strict whole-line match - the line must equal the pattern exactly, no trimming applied. Starts with / Ends with check only one end of the line. Regex treats the pattern as a JavaScript regular expression.
Whole word wraps your pattern in word-boundary anchors for Contains and Equals modes - `cat` matches `the cat sat` but not `category`. Ignored in Starts/Ends/Regex modes. Case sensitive (off by default) flips whether `Apple` matches `apple`.
Invert flips the keep/drop decision - same pattern, opposite outcome. Invalid regex clears the output and surfaces the error in the status bar, so malformed patterns are obvious rather than silently broken. For paragraph-level (blank-line-separated) filtering, use Filter paragraphs instead.
How to use filter list lines
- 1Paste your list into the input panel
- 2Type your Match pattern (text or regex)
- 3Pick Mode: Contains (default), Equals, Starts with, Ends with, or Regex
- 4Toggle Whole word to require word-boundary matches (Contains/Equals only)
- 5Toggle Invert to drop matches instead of keeping them
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this filter actually does
Line-by-line test with five modes and three toggles.
Five match modes
Contains (substring), Equals (strict whole-line match, no trim), Starts with, Ends with, Regex. Pick the one that matches how you mentally describe the filter.
Whole-word boundary for Contains/Equals
Wraps your pattern in `\b…\b` to match only complete words. `cat` matches in `the cat` but not in `category`. Ignored in Starts/Ends/Regex - for those, encode word boundaries yourself.
Regex mode for complex patterns
Treats the pattern as a JavaScript regex. Standard syntax - groups, alternation, lookaheads. Invalid regex clears the output (empty result) and surfaces the error in the status bar.
Invert toggle for drop-matches
Flips the decision - when on, lines NOT matching the pattern are kept. Useful for removing known noise without rewriting the pattern as a negation.
Case sensitivity toggle
Off (default) makes matches case-insensitive. On distinguishes `Apple` from `apple`. Applies to all five modes.
Common use cases
Concrete scenarios where a line-level filter beats manual scanning.
Log file triage
Paste an Nginx / Apache / application log and keep only lines containing `error`, `warning`, or `404`. Switch to Regex mode with `error|fatal|5\d\d` to match multiple severities at once.
Subset extraction from mixed exports
CRM or product exports often mix active and archived rows on one sheet. Filter to keep only active entries (`status: active`) before handing off. Chain Dedupe if the export has repeat rows.
Noise removal via Invert
Toggle Invert and set a pattern matching stopwords, placeholder rows, or known junk (`TEST_DATA`, `DELETED`) to drop them from the list in one pass. Same power as a negated grep.
Domain-specific sweeps
Filter an email list by domain (`@yourco.com`), URLs by host (`github.com`), or IDs by prefix (`user_`). Specialized sibling pages - Find emails, Find URLs - ship with pre-tuned defaults for those shapes.
Worked example
Default Contains mode, pattern `apple`, case-insensitive.
apple banana cherry apple pie banana split
apple apple pie
Settings reference
How each option shapes the filtered output using the sample above.
| Setting | What it does | Effect on the sample |
|---|---|---|
| Mode: Contains + pattern `apple` | Keeps lines containing `apple` as a substring | `apple` + `apple pie` |
| Mode: Equals + pattern `apple` | Keeps only lines that equal the pattern exactly (no trimming) | `apple` only. A line ` apple` (with leading space) would NOT match. |
| Mode: Starts with + pattern `apple` | Keeps lines starting with `apple` | `apple` + `apple pie` |
| Mode: Regex + pattern `^a.+e$` | Keeps lines matching the regex | `apple` + `apple pie` |
| Whole word + Contains + `apple` | Requires word-boundary match | `apple` + `apple pie` (both have `apple` as a whole word) |
| Invert: on | Drops matches instead of keeping them | `banana` + `cherry` + `banana split` |