CSV Row Filter (Predicate-Based Row Selection)
Filtering rows of a CSV is the most common follow-up to opening one. Show me the rows where the status is open, or where the price is over 100, or where the email column matches a regex. Excel does it with AutoFilter and Google Sheets does it with FILTER formulas, but both require opening the file in a spreadsheet app first. This tool runs the same filters without leaving the browser, supports multiple predicates combined with AND or OR, and downloads the result as a new CSV with the original header.
How Predicates Work
A predicate is a single rule against a single column: status equals open, price greater-than 100, email contains @anthropic.com. Each predicate has a column picker, an operator picker, and a value field. The available operators depend on the inferred column type: text columns get equals, not-equals, contains, does-not-contain, starts-with, ends-with, matches-regex; numeric columns get greater-than, less-than, between (with two values), and the equality operators. The is-empty operator works on any column. Multiple predicates are combined either all-must-match (AND) or any-must-match (OR), set as a global switch.
Use Cases for Quick Filtering
Customer-list segmentation: pull only the rows where the signup date is in the last 30 days. Sales-list pruning: keep rows where the deal stage is closed-won and the amount is over a threshold. Email-list cleanup: drop rows where the email column does not contain an at-sign. Log-file analysis: keep rows where the response code starts with 5. Survey-result slicing: extract only respondents in a specific region. The tool is fast enough that interactive trial-and-error is realistic — add a predicate, see the row count update, refine.
Regex Support and Safety
The matches-regex operator accepts a JavaScript regular expression (the same flavor browsers run natively). The expression is wrapped in new RegExp(value), with a safe-execute pattern that catches catastrophic-backtrack patterns by timing out after 100 milliseconds per row. Common regex use cases: extract rows where a column matches an email format, a UUID pattern, an internal SKU code, or a date format you do not want to depend on auto-parsing. The flags input lets you set i for case-insensitive, m for multiline.
Why Filter in the Browser Instead of in Excel
Excel's AutoFilter and Google Sheets' FILTER are good. They are also tied to opening the file in a heavyweight app, applying filters as a view (not as a transformed file), and remembering to copy-paste the filtered range out. The browser approach is one-click: filter, get a real CSV file back, ready to feed into the next pipeline step. It also avoids the Excel-specific bugs where leading zeros disappear, large integer IDs lose precision, and date columns get reformatted in unwanted ways. For one-shot filtering with a clear predicate in mind, this is the faster path.
Common follow-ups: CSV Cleaner to dedupe and normalize the filtered subset, CSV to SQL to load the subset into a database, CSV to Markdown Table if the filtered rows are headed for documentation, and JSON ↔ CSV Converter if the next step needs JSON instead of CSV.
Frequently Asked Questions
Built by Derek Giordano · Part of Ultimate Design Tools