CSV Duplicate Row Remover
CSV Duplicate Row Remover deletes rows that repeat and keeps the first of each, leaving every other row in its original position — it never sorts.
How to use it
- Paste your CSV data into the input box
- Choose whether the first row is a header and whether comparison is case-sensitive
- Review the row counts and copy the de-duplicated CSV
Two rows are duplicates when their parsed cells match across the whole row. Case-sensitive comparison is on by default; untick it to treat "Anna" and "anna" as the same. It compares parsed values, so a quoted "a" and a bare a match, but a cell with an extra leading or trailing space does not match one without — quoting and stray whitespace can keep near-identical rows apart. The first row is treated as a header by default: kept untouched and excluded from the comparison, unless you tick the box to include it as data. The delimiter is auto-detected from the first line or chosen manually, the output uses LF line endings, and a count of removed rows is shown. Unlike CSV Viewer it rewrites the file, and unlike CSV to JSON the result is still CSV. Limits: 2 MB, 50,000 rows, 250,000 cells.
FAQ
A row whose parsed cells are all equal to an earlier row's, compared across the whole row. It is not per-column or key-based de-duplication.
By default yes — "Anna" and "anna" are different rows. Untick "Case-sensitive comparison" to ignore case. Values are compared after parsing, so a quoted "a" and a bare a are equal, but a leading space is not.
No. By default the first row is kept as-is and excluded from the comparison. Tick "include the first row in duplicate comparison" to dedupe it like the rest.