YourTools.
简体中文
Back to the catalog
Tools

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

Remove duplicates from CSV or Excel

Run

Processes in this browser; cancel at any time

Choose files first

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

  1. Choose or drop one CSV, Excel (XLSX) or JSON file and check its columns in the preview.
  2. Under “Compare columns”, tick the columns that identify a duplicate, such as email or order number; leave them all unticked to compare whole rows.
  3. Choose which copy to “Keep”, and whether the comparison is “Case sensitive” or should “Ignore surrounding spaces”.
  4. 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.