Can I remove duplicates based on one column only?
Yes. Pick the columns to compare, such as email. Rows with the same value in those columns are duplicates even if other columns differ.
Find and remove duplicate rows from a CSV, comparing whole rows or only the columns that identify a record, such as an email address. You see every group of duplicates, with row numbers, before anything is removed, and you choose whether the first or the last copy survives.
Loading the CSV tools.
You do not have to take our word for it. Browser developer tools list every request a page makes, so you can watch 2csv work and confirm that your data is never sent anywhere. The check takes about a minute.
F12, or Cmd+Option+I on a Mac, and select the Network tab.Your file is read into this tab's memory with the browser's own file reader, parsed and changed by code that is already on the page, and handed back to you as a download. It is never uploaded, never stored in the browser, and gone when you close the tab. The only other request the site can make is the feedback form, and only when you submit it.
The production site also sends a Content-Security-Policy header that tells your browser to refuse connections to anywhere except this site and the anonymous analytics endpoint, so even a bug could not send your data elsewhere.
Two rows are duplicates when the values you compare are the same. By default every column is compared, so only identical rows match. Choosing columns narrows the test: comparing only the email column treats two rows with the same email as duplicates even when the names or dates differ.
Yes. Find duplicates lists every group, largest first, with how many copies it has and the row numbers of each copy. Nothing is removed at this stage, so you can check that the comparison is right before you commit. If the groups look wrong, change the columns or options and look again.
Keep the first when the original entry is the one that matters, such as the first sign-up for an email address. Keep the last when later rows are newer, such as a contact list where each export appends updated details. Sorting by a date column first with Sort CSV makes the choice predictable.
Matching is exact, after the case and space options. Rows that are only similar, such as Jon Smith and John Smith, or two spellings of one street, are not treated as duplicates, because fuzzy matching is not in this version. Running Trim whitespace first removes invisible characters that can stop real duplicates from matching.
Removing duplicates works inside one file. When the same customers appear across several monthly exports, stack those files into one first with 2join, then open the combined file here and remove duplicates across all of it in a single pass.
All eighteen tools are on the 2csv home page, and once a file is open you can switch between them without reloading it. Part of the 2suite.io privacy-first ecosystem.
Yes. Pick the columns to compare, such as email. Rows with the same value in those columns are duplicates even if other columns differ.
You choose: keep the first row of each group or the last. The others are removed, and Undo restores them.
No. Matching is exact after the ignore case and ignore spaces options. Fuzzy matching is not available in this version.
Stack the files into one with 2join first, then open the combined file here and remove duplicates across all of it.
They usually differ by an invisible character, such as a non-breaking space or a zero-width space. Run Trim whitespace with invisible character removal first, then find duplicates again.