FREE ONLINE TABLE TOOL

Filter CSV

Keep the records you need and review what was excluded. Combine text conditions and inspect included and excluded rows.

No account neededFiles stay on your deviceOriginals preserved

Start with your data

Import data, confirm the rules, review the result, and export a new copy.

◈ Processed on your device
1Import data—2Configure—3Review—4Export

Drop your table here

Drag and drop a CSV, TSV, or delimited text file

UTF-8 · Up to 10 MB per file

Start with your data

File content is processed in your browser, without uploading it.
Kept in page memory · Continue across tools · Refreshing or closing clears the sessionCSV / TSV · UTF-8
Sample library Products · Supplier files · System imports

Clear this session?

Imported data, steps, and results will be released. Export any needed copies first. Original files are unaffected.

A CLEARER WAY TO WORK

Keep the records you need and review what was excluded.

Explore the scope, review process, and results in three practical scenes.

01 / SCOPE & PURPOSE

Turn your criteria into clear rules

Find a category, a text fragment, or an empty field. Each condition targets a specific column without requiring a complicated formula.

Illustrative scene for Filter CSV: Turn your criteria into clear rules
Illustrative scene
02 / RULES & REVIEW

Combine multiple conditions

Require all conditions to match or allow any one of them. Filter first, then continue with sorting to organize the selected records.

Illustrative scene for Filter CSV: Combine multiple conditions
Illustrative scene
03 / RESULTS & NEXT STEPS

Keep an excluded-record report

Review results and excluded records separately to judge whether the criteria are too broad or too narrow. Grid search helps browsing without altering the full filtered result.

Illustrative scene for Filter CSV: Keep an excluded-record report
Illustrative scene
BUILT FOR YOUR TABLES

What Filter CSV can do

Explore the available features and choose what your table needs next.

Column-specific conditions

Assign a specific field to every condition.

Use in the tool

Literal text matching

Use text conditions such as contains and equals without executing user code.

Use in the tool

All or any matching

Combine multiple conditions with all-match or any-match logic.

Use in the tool

Whole-row results

Keep complete records so their fields remain together.

Use in the tool

Excluded-record report

Inspect records left out of the result to validate your rules.

Use in the tool

Continue after filtering

Apply the result and continue with sorting, mapping, or splitting, with undo available.

Use in the tool
HOW IT WORKS

Three steps to a reviewed result

Confirm the input, inspect changes, and save the output you need.

01

Import and confirm the source

Choose a CSV or TSV file, or paste a table. Check the delimiter, headers, and preview before confirming the full import.

  • Content stays in your browser
  • Source files remain intact
Go to the input area
02

Set the rules, run, and review

Add text conditions for chosen fields and select all-match or any-match logic. Review retained and excluded records separately before applying or exporting.

  • Process the full dataset
  • Review results and sources
Set processing rules
03

Choose a scope and export a copy

Choose the result or report and CSV or TSV format. Review the export summary and protection count, then confirm download or copy.

  • Read-back verification before export
  • Choose the scope explicitly
Continue in the tool
Need detailed rules, examples, and limits?Read the full guide

Filter CSV records with visible text conditions

Filtering CSV means selecting complete records according to rules, while keeping a separate account of the records that do not qualify. TableWorkbench supports text conditions on chosen columns and lets you combine them with Match all or Match any. It does not turn every value that looks numeric into a number, and it does not run arbitrary expressions. The goal is a selection you can explain: which fields were checked, which tests were applied, and which records were retained or excluded.

Choose a file or paste a table, then confirm parsing before creating conditions. Check the column names, record count, and representative cell values. If a row is shorter than the declared structure, you must explicitly permit padding with missing cells. Extra fields and malformed quoting block parsing. These decisions happen before filtering because a misplaced delimiter could otherwise make a condition evaluate the wrong field while still producing a plausible-looking subset.

Build a condition from a field, operator, and value

Each condition identifies one column and a text test. Equals requires the complete stored text to match the supplied value. Contains checks whether the value occurs anywhere in the cell. Starts with and Ends with constrain the position of the text. Is empty matches empty or missing cells, while Is not empty selects populated cells. Empty tests do not need a separate comparison value. Choose the operator that expresses the actual selection, rather than approximating it with a broader substring test.

For example, Contains North also matches North-East, whereas Equals North does not. Starts with AB can select a family of product codes while leaving codes with AB only in the middle excluded. The tests use the original strings and are case-sensitive in this version. If the source needs standardized case or whitespace, add a deliberate cleaning step first. That keeps text changes separate from the later inclusion decision and makes both stages reversible.

Combine conditions without hiding the logic

Match all retains a record only when every configured condition succeeds. Use it for a question such as Region equals North and Status equals Ready. Match any retains a record when at least one condition succeeds. It can select records from either North or South when both equality conditions refer to Region. The visible order of conditions helps you review them, but these simple logical combinations do not assign a higher priority to the first rule.

This version does not provide nested groups such as A and either B or C in one expression. You can sometimes use separate applied filtering steps to express a narrower sequence, but check the resulting logic carefully: applying one filter after another behaves like further restricting the previous result. Keep the excluded report from each stage if you need a complete explanation of where records left the workflow. Do not use a sequence as a substitute for an unverified complex expression.

Empty cells and literal marker text

An empty cell is not the same thing as the text NULL, null, N/A, false, or 0. Is empty matches the empty and missing states represented by the table; those literal strings remain content. A cell containing only spaces also remains content until a cleaning step changes it. This matters when a source uses several conventions for missing data. Decide which conventions should count as missing and transform them explicitly before filtering, if necessary.

Numeric and date comparisons are outside this version's text-filter semantics. The strings 10 and 2 are not silently interpreted as quantities for a greater-than test, and an ambiguous date is not guessed from the interface language. Use Equals when you truly want the literal text 10. If you need range filtering, define the field's type and parsing rules in a suitable external process or wait for an explicitly supported typed operation. The current interface does not claim that capability.

A controlled catalog example

Imagine four records with SKU, Region, and Status. SKU 001 is North and Ready; 002 is North and Hold; 003 is South and Ready; 004 has an empty region and Ready status. Add Region equals North and Status equals Ready, then choose Match all. Only 001 qualifies. The retained count is one and the excluded count is three. All columns of the retained record stay together, including fields that were not part of a condition.

Change to Match any and run again. Records 001, 002, 003, and 004 now qualify because every record either has Region North or Status Ready. This is a valid outcome even though it may be broader than intended. The example shows why changing all to any is a substantive rule change rather than a display preference. Inspect both the summary and excluded table; an empty excluded report can be meaningful evidence that the conditions cover the entire input.

Distinguish filtering from searching the preview

The search box above the data grid only changes which rows you see in that current view. It does not add a workflow condition, change the retained count, or narrow a download. This separation lets you inspect a particular SKU without accidentally exporting only that one row. A real filter is created in the rule panel, run across all imported records, and optionally applied as a workflow step. Its included and excluded outputs are explicit.

After reviewing the result, apply it to continue with the retained records. Undo returns to the previous table, and redo can restore the filter. If you change a condition, the old result is marked stale until another run completes. Export asks for a scope independent of grid search: choose the retained result, the excluded report, or a package of reports. This makes it possible to provide an exception list without losing the accepted dataset.

Frequently asked questions

Can I filter rows using more than one condition?

Yes. Combine the supported text conditions using the all-or-any choice that matches your task. For example, all conditions must match when both a status and a category are required. Inspect both included and excluded records. This is a transformation of the result, unlike searching within the preview grid.

Does filtering remove records from my source file?

No. The input remains preserved, and filtering produces separate retained and excluded tables in memory. A download is a new copy. Applying the filter changes the table passed to the next workflow step, but undo can restore the earlier state. Export any evidence you need before refreshing or closing the tab, because the session is not stored persistently.

Why did a blank-looking cell fail Is empty?

It may contain spaces, a nonbreaking space, or another invisible character. Inspect the cell detail rather than assuming visual blankness means an empty string. If the task requires treating surrounding whitespace as insignificant, clean that selected field first and review the changes. The filter does not silently strip all invisible characters.

Can I download the rows that did not match?

Yes. The excluded report contains the original full records that failed the selected combination of conditions. Choose it explicitly in export. The retained and excluded counts should add up to the input count for this run. That accounting is useful when checking a submission batch or explaining which records need attention.

Can I use a regular expression or a spreadsheet formula?

No. The first version exposes a fixed set of literal text tests. User scripts, formulas, and regular expressions are not executed. A value that looks like a formula remains text inside the workbench. Export protection is handled separately because a receiving spreadsheet application may interpret that text differently.

What happens if no record matches?

The retained result is empty and the excluded report contains the input records. This is a valid completed result, not a processing crash. Check the selected column, exact spelling, case, whitespace, and Match all versus Match any. Change a rule only if the task justifies it; do not broaden conditions merely to force a nonempty output.

Ready to work with your table?

Start with a sample to learn the workflow, then process your own files.