Productivity and Utilities

CSV Row Filter

Paste a CSV, choose a column and a condition, and get back only the rows you want.

Commas, semicolons, tabs and pipes are detected. Quoted cells are handled.

    The rows are filtered in your browser and nothing is uploaded. Comparing as numbers ignores signs of currency, commas and percent marks.

    Next step

    How to use the csv row filter

    1. Paste your CSV with a header row. Commas, semicolons, tabs and pipes are detected for you.
    2. Choose whether to keep the rows that match or the rows that do not, then pick the column by name or number, a condition and a value.
    3. To combine two tests, set Second condition to And also or Or else and fill in the second column, condition and value.
    4. Read the filtered CSV and the count of rows kept, then copy it or download it as a file.

    Paid orders over 100

    The starting data has six orders. Keeping rows where status equals paid and total is greater than 100 returns two data rows, order 1001 for Ana Diaz at 120.50 and order 1005 for Eli Roy at 310.75, and the header. The page reports "Kept 2 of 6 data rows".

    Switching Keep to Rows that do not match returns the other four rows. A condition on a number column compares as numbers, so 80.00 is less than 100 even though the text "80.00" sorts after "100". Currency signs, commas and percent marks in cells are ignored when comparing numbers, and cells that are not numbers are counted and reported.

    What each condition does

    Text conditions (equals, does not equal, contains, does not contain, starts with, ends with) compare the cell as text and ignore capital letters unless you turn that off. Is empty and is not empty look at whether the cell has anything but spaces. The number conditions (greater than, at least, less than, at most) turn both the cell and your value into numbers first.

    With two conditions, And also keeps rows that pass both, and Or else keeps rows that pass either. Choosing Rows that do not match flips the final answer, which is a quick way to find the rows that fail a rule.

    Privacy and limits

    Everything happens in your browser, and the data is not uploaded. Quoted cells that contain commas or line breaks are read correctly and written back with quotes where needed. If the first row is not a header, untick the header option and use column numbers starting at 1. To order the result, use the Sort CSV by Column tool, to split or combine files use the CSV Merge and Split tool, and to check structure use the CSV Validator. For totals by group, see the CSV Group By Summary Tool.

    Assumptions and limits

    • The first row is a header by default. Column names are matched without regard to capital letters.
    • Up to 2,000,000 characters are accepted, and blank lines are ignored.
    • A cell that is not a number never matches a number condition, and the page tells you how many cells were skipped.
    • Only one or two conditions are supported. For more complex logic, run the tool twice on the result.

    Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

    Frequently asked questions

    Can I pick the column by number?

    Yes. Type 3 for the third column. If your header has a column named 3, the name is used first. Without a header row, only numbers work.

    How do number comparisons treat symbols?

    A leading dollar, euro or pound sign, commas and a trailing percent mark are removed before comparing, so $1,200.50 is read as 1200.5. Cells that still are not numbers do not match and are counted in a note.

    Does the output keep the original delimiter?

    Yes. A semicolon or tab separated file stays that way, and cells that need quotes get them. The line endings in the output are single line feeds.

    What does ignoring capital letters do?

    It makes the text conditions treat Paid, PAID and paid as equal. Turn it off for exact matches. It has no effect on number conditions.