SmartQueryTools

Filter CSV Files Online

Filter rows in CSV files by column value, directly in your browser. Your data stays on your device.

How to filter CSV files

  1. Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
  2. Pick the column to test from the Column list. It defaults to the first column in the file.
  3. Choose an operator: =, !=, >, <, >=, <=, LIKE, IS NULL or IS NOT NULL. Type the comparison value, unless you picked IS NULL or IS NOT NULL.
  4. Click Apply Filter. The tool shows how many rows match and previews the first 200 of them.
  5. Click Download to save the matching rows in the same format you uploaded.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

A bike-share operator wants to review only the longer trips from one morning's log, meaning rides of 30 minutes or more.

Input (CSV)

trip_id,start_station,duration_min,member
501,Harbour St,12,true
502,Park Ave,47,false
503,Harbour St,31,true
504,Mill Rd,8,false
505,Park Ave,30,true

Settings

  • Column: duration_min
  • Operator: >=
  • Value: 30

Result

trip_idstart_stationduration_minmember
502Park Ave47false
503Harbour St31true
505Park Ave30true

duration_min is an integer column, so the value 30 is compared as a number, not as text. Three of five rows match. Trip 505 is kept because >= includes the boundary; with > it would be dropped. Matching rows keep their original order and every column is carried through unchanged.

Working with CSV files

A CSV file carries no type information, so each column's type is guessed when the file loads. That guess decides how > and < behave. A price column that is all numbers loads as a number and 9 sorts below 10. If a single cell says "N/A", the whole column loads as text, and the comparison becomes alphabetical, so "9" counts as greater than "10". Check the column type in the preview before trusting a range filter. Codes with leading zeros, such as the ZIP code 00501, are kept as text, so = 00501 matches them exactly.

Empty CSV fields load as NULL. To find blank cells, use IS NULL rather than = with an empty value box. Text comparisons are exact: "Park Ave" and "park ave" are different, and a trailing space also breaks an = match. The download keeps the original header, uses commas, and quotes only the fields that contain a comma, quote or line break. Quoted fields are parsed properly on the way in, so a comma inside a value such as "Smith, J" never shifts later columns.

Frequently Asked Questions

Why does my CSV filter for amount > 100 return odd results?

The amount column was probably loaded as text because at least one cell is not a number, such as "N/A" or "$120". Text comparison is character by character. Clean those cells first with Find & Replace or Cast Column Types, then filter again.

How do I keep only CSV rows where a column is blank?

Choose that column and the IS NULL operator. Empty fields in a CSV are read as NULL, so IS NULL catches them. IS NOT NULL does the reverse.

Can I combine several conditions, such as region = "EU" and amount > 100?

Not in one pass. The tool applies a single condition. Download the result and filter it again for the next condition, which gives the same result as AND. For OR logic or several conditions at once, use the SQL Query tool.

How does the LIKE operator work?

LIKE matches a pattern. % stands for any run of characters and _ for exactly one, so Park% matches every value starting with "Park". Without a wildcard, LIKE behaves like =. The match is case-sensitive.

Does filtering change the original file?

No. Your file is read in the browser and never modified. The matching rows are written to a new file that you download.

Related Tools