Excel Tools

Remove duplicates in Excel and CSV files

Choose which columns make a row a duplicate, keep the first or the last copy, and get a clean sheet plus a sheet with every row that was removed. Or remove from one list the rows that are already in another.

What do you want to do?

No file at hand? (a contact list with repeated emails).

How to remove duplicates in Excel online

  1. Choose the file and the sheet. Excel, OpenDocument and CSV files are accepted.
  2. Choose what makes a duplicate. All columns, for rows that are identical, or only some, such as the email or the customer ID.
  3. Choose which copy to keep: the first one, or the last one when later rows are more recent.
  4. Download. You get the clean sheet and, on a separate sheet, every row that was removed with the row it duplicates. Or mark the duplicates without deleting anything.

Private by design

The file is checked by JavaScript in your browser, in a background worker. It is never uploaded, so customer lists, mailing lists and personal data stay on your device. The page only downloads its own code and the open-source SheetJS and PapaParse libraries from this site.

See what you remove before you remove it

Excel’s Data › Remove Duplicates deletes rows in place and only tells you how many went away. Here nothing is lost: the removed rows go to a “Duplicates removed” sheet with their original row number and the row they duplicate, so you can check every decision. If you prefer to decide yourself, “Mark duplicates” keeps every row and adds a duplicate-group number and a status (Unique, Kept, Duplicate) that you can filter in Excel.

Duplicates that Excel does not catch

Excel compares values exactly, apart from upper and lower case. That misses many real duplicates: “ana@example.com” and “ana@example.com ” with a trailing space, “José Pérez” and “Jose Perez”, or the code “00123” in one row and 123 in another. Turn on the normalization options to treat them as the same value. Rows whose compared cells are all empty are never treated as duplicates, so blank lines do not swallow each other.

For near-duplicates with typos, such as “Jon Smith” and “John Smith”, use Find similar duplicates.

Remove the rows of one list that are in another

The second mode answers a different question: which rows of B are not already in A? Typical cases are removing existing customers from a new lead list, removing unsubscribed emails from a mailing list, or keeping only the invoices of this month’s export that were not in last month’s. Choose which columns of B to compare with which columns of A; columns with the same name are paired automatically.

Common uses

Known limitations

Frequently asked questions

Is it really free?

Yes. It is 100% free, with no usage limits, no account, no sign-up and no paid plan.

Are my files uploaded?

No. The file is processed in your browser. The page only downloads its own code and libraries from this site. If you accept analytics cookies, Google Analytics receives anonymous usage data such as page views, never the contents or names of your files.

How do I remove duplicates based on one column?

Load the file, click None and tick only that column, for example Email. Rows with the same email are duplicates even if the other columns differ; the first one is kept unless you choose the last.

Can I see which rows were removed?

Yes. The Excel file has a “Duplicates removed” sheet with each removed row, its original row number and the row it duplicates. You can also choose “Mark duplicates, delete nothing” to keep every row and add a duplicate group and status column.

Does it find duplicates with different capitals or extra spaces?

Yes. Spaces and upper and lower case are ignored by default, like Excel’s own Remove Duplicates for case. You can also ignore accents and treat “001” and 1 as the same value. Typos such as “Jon” and “John” need the similar duplicates tool.

How do I remove rows of one list that appear in another?

Choose “Remove rows of B that are already in A”, load the reference list as A and the list to clean as B, and pick the columns to compare. You get B without those rows, plus a sheet with the rows that were removed.

Is there a size limit?

There is no fixed limit or quota. The file is loaded in memory, so a recent computer handles hundreds of thousands of rows; on phones keep it under about 20 MB.

Analytics: only if you accept cookies, the page loads Google Analytics (through Google Tag Manager) to count visits and see which tools are used. It never receives the contents or names of your files. You can change your choice at any time with “Cookie settings” at the bottom of the page.