How to Filter CSV Rows by Column Value — Free, No Code Needed
Table of Contents
- The basics: filtering by a specific column
- Exact match vs. contains — choosing the right mode
- Step-by-step: filter by column value
- Filtering with a list of values (not just one)
- Common column types and the right filter approach
- Download options: result, matched only, unmatched only
- Frequently Asked Questions
Filtering a CSV by column value is one of the most common data tasks out there — and also one of the most annoying to do without the right tool. You either open Excel and manually set up a filter, write a pandas snippet, or copy-paste rows one by one. None of those are fast.
The free CSV Row Filter handles this directly: you specify which column to search and provide a list of values to match. It finds every row where that column matches your list, then lets you highlight, remove, or isolate those rows — all in your browser, with no code required.
The Basics: Filtering a CSV by a Specific Column
When you say "filter by column value," you mean: check the data in one specific column (like Status, City, Email, or Product ID) and select only the rows where that column contains certain values.
For example:
- Show me only rows where Status = "active"
- Remove every row where City = "Los Angeles"
- Keep only rows where Product ID is in this list of 30 IDs
The CSV Row Filter does this via a word bank — a list of values you want to match, one per line. You upload the CSV, pick the column, and the tool checks each row in that column against your list. Every matching row can be highlighted, removed, or isolated.
Exact Match vs. Contains — Choosing the Right Mode
The tool gives you two matching options, and the difference matters a lot depending on your data.
Exact match checks whether the entire cell value equals one of your word bank entries. If your cell says "Planet Fitness" and your word bank has "Planet", it won't match — the full value has to match exactly. Use this for:
- Email addresses
- User IDs or account numbers
- Product SKUs
- Status codes (active, inactive, pending)
Contains match checks whether any word bank entry appears anywhere in the cell. "Planet" would match "Planet Fitness", "Planet Earth Gym", and "planetfitness.com". Use this for:
- Company names (you want all variations)
- Domain matching (all @gmail addresses)
- Category matching ("CrossFit" in a business name column)
- Any partial-string scenario
Case sensitivity is optional — the "Ignore case" checkbox is on by default, so "MIAMI" and "miami" and "Miami" all match the same word bank entry.
Step-by-Step: Filter by Column Value in 60 Seconds
- Open the tool at wildandfreetools.com/data-tools/csv-row-filter/
- Paste your values in the word bank — one value per line. If you want to find rows where Status = "active", just paste: active
- Upload your CSV — drag and drop the file. The tool shows you the row count and column headers immediately.
- Select the column — the dropdown lists all your headers. Pick the one you want to filter on (e.g., "Status", "City", "Email").
- Pick your match mode — exact or contains.
- Choose what to do with matches — highlight them, remove them from the output, or keep only them.
- Click Filter and download your result.
The stats panel shows total rows, matched, unmatched, and any word bank entries that were not found. This last one is useful — if a value you expected to find returned zero matches, it might be a typo in your word bank or a different value format in the data.
Sell Custom Apparel — We Handle Printing & Free ShippingFiltering With a List of Values — Not Just One
Most spreadsheet filters work on one value at a time. The word bank approach works on as many values as you paste.
Say you have a sales CSV with 10,000 accounts and you want to remove 200 specific ones. Paste all 200 account IDs into the word bank (one per line), select the Account ID column, choose "Remove matching rows." Done. The tool processes all 200 at once — no manual filtering, no formulas.
This is particularly useful for:
- Suppression lists — removing a batch of opt-outs from a mailing list
- Allowlists — keeping only rows from a list of approved IDs (use "Keep only matching rows" mode)
- Cross-referencing exports — you exported two lists and want to find the difference
After filtering, you can bring the cleaned data back into your workflow. The 3-step CSV cleaning guide shows a typical pre-import cleanup workflow.
Common Column Types and the Right Filter Approach
Different column types call for different strategies:
| Column Type | Recommended Mode | Notes |
|---|---|---|
| Email addresses | Exact match | Full address must match; case-insensitive is fine |
| Company names | Contains | Handles variations like "LLC", "Inc.", abbreviations |
| Status codes | Exact match | "active" shouldn't match "inactive" |
| City/State | Exact or Contains | Exact if your data is standardized; Contains if it has abbreviations |
| Product IDs | Exact match | IDs are precise — partial matches cause false positives |
| Domains | Contains | Match "@gmail" to catch all Gmail addresses |
If your data has formatting inconsistencies (mixed case, extra spaces), consider running it through the CSV Sanitizer to standardize the data before filtering. Trimming whitespace and normalizing case first makes your word bank matches more reliable.
Three Download Options for Every Filter Run
After filtering, three download buttons appear:
Download Result CSV — this gives you the output based on your chosen action. If you removed matching rows, this is your cleaned list. If you kept only matching rows, this is your filtered segment.
Download Matched Only — always gives you just the matched rows, regardless of your action setting. Useful if you want to verify what was matched before deciding what to do with those records.
Download Unmatched Only — always gives you the rows that did not match. This is useful when you want both lists — the ones that matched and the ones that didn't — from a single filter run.
You can use the matched and unmatched outputs as separate datasets for different downstream steps — import the clean list here, flag the matched ones for manual review there.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free CSV Row FilterFrequently Asked Questions
Can I filter on multiple columns in one pass?
The tool filters one column per run. For multi-column filtering, download the result of your first filter, re-upload it, and apply a second filter on the next column. Chain as many passes as you need.
Why are some rows not matching even though I can see the value in the column?
The most common cause is extra whitespace around the cell value. Try enabling "Ignore case" and switching to "Contains" mode. If that still fails, run your CSV through the CSV Sanitizer to trim whitespace first, then re-apply the filter.
Is there a row limit?
There is no enforced row limit — the tool processes everything in memory in your browser. For very large files (100,000+ rows), performance depends on your device. Most modern computers handle files up to a few hundred thousand rows without issue.

