Filter CSV rows with conditions you can read back

Combine text, number and date conditions with all/any logic. Numbers compare exactly, missing values never match by accident, and the export states how many rows it covers.

Example data — not saved

Showing synthetic sample data: Filter paid orders over 100. Open or drop your own file to replace it — files are read in your browser and never uploaded.

Source AUpdating…
Loading…

Arrow keys move; Enter or double-click edits a cell (recorded as a replayable “Cell edits” step). ∅ = missing, · = edge whitespace, ↵ = line break inside a value. Row labels show source:record provenance.

The rules a filter follows

The example keeps paid orders above 100. Order 1008 has no amount: it is missing, not zero, so it fails “> 100” and is listed in the ledger instead of slipping through or causing an error.

A missing value never satisfies a comparison, not even “does not equal”. Use “is missing”, “is empty text” or “is blank” to target gaps deliberately. Numeric conditions use exact decimals, so 100.00 equals 100 and a 19-digit ID compares correctly.

Exports always state their scope, for example “final output after step 1: 5 rows”, and never export just the rows visible in the grid.

Questions

Can I filter by a regular expression?

Yes, with “matches regex”. The pattern runs in the worker with a time budget and the step editor has a test bench for trying it on sample values first.

How do I filter by date?

Date conditions expect ISO dates (YYYY-MM-DD). If your data uses another format, add a “Convert type / date” step first with the format stated.

Can I see what was filtered out?

The Ledger tab lists removed rows for the selected step, and “Export removed rows” saves them as a CSV.