Reshape

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

idnamestatusrevenue
1Grace Keruboactive4500
2Peter Njorogeinactive0
3Mercy Akinyiactive3200

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 →