Duplicates are compared on the columns you keep: untick an ID or date column to find rows that repeat in everything else.
Your data is processed in your browser and never uploaded.
This CSV column filter cleans up a CSV file in one step: keep only the columns you need, remove duplicate rows and drop empty lines, then download the clean file.
How to use the CSV Column Filter & Duplicate Remover
- 1 Paste your CSV or click Open file.
- 2 Untick the columns you do not need and choose how duplicates are found.
- 3 Download the cleaned CSV or copy it.
Worked examples
Input: 1,200 rows with repeated email addresses
Result: 1,050 unique rows
With case and spaces ignored, [email protected] matches [email protected].
Input: id, name, email, phone, notes
Result: name, email
Only the ticked columns are kept, in their original order.
How the CSV column filter works
Exports from CRMs, shops and survey tools often contain far more columns than you need and the same record more than once. The tool reads your CSV with PapaParse, keeps the columns you tick, removes the rows you do not want and writes the result with the same separator as the original.
Finding duplicates
Rows are compared on the columns you keep. That gives you control over what counts as a duplicate:
- keep all columns to remove rows that are identical;
- untick an ID, timestamp or "created at" column to find records that repeat in everything else;
- keep just an email column to get one row per email address.
With "Ignore upper/lower case and extra spaces" ticked, [email protected] and [email protected] are treated as the same value. The first occurrence of each row is kept and later copies are removed, so the original order is preserved.
Empty rows
Rows where every kept column is empty are removed when "Remove empty rows" is ticked. They often appear at the end of exports or between blocks of data.
The header row
With "First row is a header", the column names come from the first row, which is always kept and never treated as a duplicate. Untick it for files that start directly with data; the columns are then called Column 1, Column 2 and so on.
Private by design
The file is read and converted by your own browser. Nothing is uploaded to a server, so it is safe to use with customer lists, finance exports and other internal data. Large files simply take a moment longer on a slower computer.
Frequently asked questions
Which copy of a duplicate is kept?
The first one. Later rows that match it are removed, and the order of the remaining rows does not change.
Can I remove duplicates based on one column only?
Yes. Keep only that column, or untick the columns that differ between the copies, such as an ID or a date.
Does it change the separator?
No. The output uses the same separator as your file. Use the CSV Delimiter Converter to change it.
Is my data uploaded?
No. Everything happens in your browser.
Related tools
Excel to CSV Converter
Convert Excel spreadsheets (XLSX, XLS, ODS) to CSV with a comma, semicolon or tab separator. Pick the sheet, preview and download.
CSV to Excel Converter
Convert CSV to an Excel XLSX file. The separator is detected automatically, numbers stay numbers and leading zeros are kept.
Excel to JSON Converter
Convert an Excel sheet to JSON: an array of objects keyed by the header row, or an array of rows. Numbers and dates keep their types.
JSON to Excel Converter
Convert JSON to Excel or CSV: arrays of objects become rows and columns, nested fields are flattened into dot-named columns.
Excel to HTML Table Converter
Convert an Excel sheet into clean HTML table code with a header row, ready to paste into a website, email or CMS.
CSV Delimiter Converter
Change the separator of a CSV file: comma to semicolon, semicolon to comma, or to tab and pipe, with correct quoting.