ToolCabana
Language preview: no interface translation is available for this language yet. Showing English. Use English

CSV duplicate row remover

Remove duplicate records using selected key columns.

Favorites are saved in this browser. Find them in My favorites.

CSV duplicate row remover

Your input stays in this browser unless stated otherwise
Clear your input, files and result, and restore the default settings.

Drop your files here

or choose files from your device

How to use CSV duplicate row remover

The CSV duplicate row remover drops repeated records from a CSV or XLSX file based on the key columns you name, or on all columns when the key field is blank. You can keep the first or last occurrence of each duplicate, and the original row order is preserved. The cleaned table downloads as result.csv with a count of removed rows.

  1. Choose a source file. If the tool accepts multiple files, arrange them in the order you want.
  2. Set key column names (comma-separated; blank = all), keep duplicate.
  3. Run csv duplicate row remover, review the output, then use the available copy or download controls.

What this tool supports

Remove duplicate records using selected key columns. Key-based batch cleanup rather than manual cell editing.

Key column names (comma-separated; blank = all)
Set this value for your task.
Keep duplicate
first · last

Limits and processing

CSV/XLSX inputs are capped at 10 MB each, 200 columns and 20,000 rows; joined output is capped at 20,000 rows. JSONPath script/filter evaluation is disabled. Other operations apply their visible controls and text limits.

Frequently asked questions

How do I remove duplicates based on one column, like email?

Enter the column header, such as email, in the key column field. Rows with the same value in that column are treated as duplicates even if other columns differ. Separate several key columns with commas.

Can I keep the most recent duplicate instead of the first?

Yes. Set Keep duplicate to last and the final occurrence of each key is kept. The surviving rows still appear in their original relative order in the output.

Are duplicates matched case-insensitively?

No. Key values are compared exactly as text, so Alex and alex or values with extra spaces count as different. Clean up casing and spacing first if those should match.

Where is my input processed?

This operation processes its source in your browser. Copy and download are explicit actions; source input is not saved in an account or history.

What are the input limits?

CSV/XLSX inputs are capped at 10 MB each, 200 columns and 20,000 rows; joined output is capped at 20,000 rows. JSONPath script/filter evaluation is disabled. Other operations apply their visible controls and text limits.