Keep or remove CSV rows matching flexible column conditions
Keep or discard CSV rows based on flexible conditions applied to any column.
🛡️ Your rows never leave your browser.
Why Onfyt: Supports regex conditions on text columns and numeric comparisons on the same row filter pass—no need to chain multiple tools.
Interactive Sample Data
| id | name | status | revenue |
|---|---|---|---|
| 1 | Grace Kerubo | active | 4500 |
| 2 | Peter Njoroge | inactive | 0 |
| 3 | Mercy Akinyi | active | 3200 |
How this tool works
Filtering rows by condition is the spreadsheet equivalent of SQL WHERE clauses. Common use cases include: extracting only active customers from a CRM export, isolating transactions above a threshold value, or removing rows where a required field is blank.
DataFix supports six condition operators per column: equals (exact), contains (substring), starts with, ends with, greater than/less than (numeric), and regex match for power users. Multiple conditions can be combined with AND or OR logic.
Extracting subsets of records based on logical criteria (such as status equals 'Completed', transaction amounts exceeding thresholds, or specific date windows) isolates relevant data cohorts while removing irrelevant records from oversized exports.
Multi-condition predicate filtering supports complex boolean logic (combining AND and OR expressions) across mixed data types. When evaluating numerical thresholds alongside text regex patterns and null checks, type coercion must be handled strictly: comparing a string '50' against numeric 100 should not default to lexicographical sorting. DataFix evaluates expressions using strict type inference, maintaining deterministic query performance across large datasets.
Filtering large datasets down to targeted cohorts based on custom numeric thresholds, date windows, or text patterns streamlines multi-gigabyte files. Eliminating irrelevant rows accelerates downstream calculations and reduces memory overhead in reporting dashboards.
Things that usually go wrong
- String comparison is case-sensitive by default — 'Nairobi' and 'nairobi' are different. Normalise case first if needed.
- Numeric comparisons require the column to contain pure numbers.
Edge cases we tested
🧪 Filter on a numeric column but stored as string
Auto-coercion applies before numeric comparison; '1000' treated as 1000.
🧪 Case-sensitive vs case-insensitive 'contains'
Toggle available; 'Active' vs 'active' differentiated when case-sensitive is on.
🧪 Regex filter with special characters in pattern
Regex pattern escaped correctly; invalid patterns surface an error before running.
Frequently Asked Questions
Can I filter on multiple columns simultaneously?
Yes — add as many conditions as needed and combine with AND or OR.
Can I use regex in the filter?
Yes — choose the 'matches regex' operator.
Related tools
Reshape
Transpose CSV
Flip a CSV matrix by turning rows into columns and columns into rows.
Open Tool →
Reshape
Pivot a CSV
Summarise long-format CSV data into pivot tables grouped by row and column keys.
Open Tool →
Reshape
Group By and Count
Aggregate CSV rows by one or more group-by columns with count, sum, mean, min, or max.
Open Tool →