Remove duplicates from CSV or Excel
Remove duplicate rows from CSV or Excel files in your browser, with no upload. Compare chosen columns or whole rows, keep the first or last copy, and get a count of removed rows.
Process locally
Files stay in this browser session. Closing or clearing releases them.
Choose files
CSV, XLSX, JSON, one at a time
Drop files here, or
Adjust settings
Optional: Compare columns, Keep, Case sensitive and more
Run
Processes in this browser; cancel at any time
About this tool
Remove duplicates from a CSV or Excel file, such as customers who signed up twice or orders that were exported twice; JSON files work too. Compare whole rows, or choose the columns that identify a row, for example the email column, and keep the first or the last copy of each.
It runs in your browser and the file is never uploaded. Kept rows stay in their original order and unchanged; spaces and letter case are ignored only for the comparison, and only when you ask. The result comes back in the same format, or as CSV, Excel or JSON, with a short report of how many rows were removed.
How to use it
- Choose or drop one CSV, Excel (XLSX) or JSON file and check its columns in the preview.
- Under “Compare columns”, tick the columns that identify a duplicate, such as email or order number; leave them all unticked to compare whole rows.
- Choose which copy to “Keep”, and whether the comparison is “Case sensitive” or should “Ignore surrounding spaces”.
- Pick the “Output format” (the input’s own format by default), then select Run and download the file and the report.
Formats and limits
- Input
- CSV, XLSX, JSON, one at a time
- Output
- CSV, XLSX, JSON
- Size limit
- 10 MB
- Settings
- Compare columns; Keep (First occurrence, Last occurrence); Case sensitive; Ignore surrounding spaces; Rows with an empty compared value (Keep every row, Treat as equal); Output format (Same as the input, CSV, Excel, JSON); Encoding (UTF-8, GB18030); Delimiter (Comma, Semicolon, Tab, Pipe)
- Privacy
- Files stay in the current browser session. No file bytes are uploaded.
- Price
- Free, no sign-up
Common questions
Which copy is kept?
With “First occurrence” the earliest row of each group stays; with “Last occurrence” the latest one does, which suits lists where newer rows hold updated details. Either way the kept rows stay in their original order.
Are Alice@Example.com and alice@example.com duplicates?
Only when “Case sensitive” is off. With “Ignore surrounding spaces” on, which is the default, a value with extra spaces at the start or end also matches. The kept row is written exactly as it was.
What happens to rows with an empty email or ID?
By default every row whose compared value is empty is kept, because a missing value does not prove that two rows are the same record. Choose “Treat as equal” under “Rows with an empty compared value” to keep only one of them.
Can I see how many duplicates were removed?
Yes. The report lists the rows before and after, the number of duplicates removed and the columns that were compared.
Is Excel formatting kept?
No. Cell values are kept, but colours, formulas and other sheets are not; only one worksheet is read. IDs with leading zeros stay text.
Is my file uploaded to a server?
No. Duplicates are found and removed in your browser, so customer lists and other personal data never leave your device.
Related tools
Clean CSV data and Excel sheets
Clean CSV data in your browser, with no upload: trim spaces, drop blank rows, change letter case, fill or drop missing values and set column types, with a count of every change.
CSV to Excel, Excel to CSV and JSON converter
Convert CSV to Excel, Excel to CSV, CSV to JSON or JSON to CSV in your browser, with no upload. IDs with leading zeros stay text and formulas never run.
Filter CSV and Excel rows and columns
Filter CSV and Excel files in your browser, with no upload: keep the rows that match your conditions, such as amount greater than 100, and only the columns you need.
Group and summarize CSV or Excel data
Group and summarize CSV or Excel data in your browser, with no upload: counts, sums, averages, minimums, maximums and distinct counts per group, like a simple pivot table.
Text to HTML table
Turn CSV, tab-separated text copied from Excel, or text split by spaces or a custom character into an HTML table.
Line tools: trim, dedupe, sort
In one pass: trim lines, remove empty or duplicate lines, count repeats, filter by length, sort (including natural and pinyin order) and add a prefix or suffix.