Skip to content
ToolsFort home

CSV Column Filter & Duplicate Remover

Keep only the CSV columns you need and remove duplicate and empty rows, with case-insensitive matching.

Updated

Columns to keep
Paste or open a CSV to choose its columns.

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. 1 Paste your CSV or click Open file.
  2. 2 Untick the columns you do not need and choose how duplicates are found.
  3. 3 Download the cleaned CSV or copy it.

Worked examples

Mailing list

Input: 1,200 rows with repeated email addresses

Result: 1,050 unique rows

With case and spaces ignored, [email protected] matches [email protected].

Fewer columns

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.

Esc