📊 Row- and cell-aware, not line-by-line

CSV / TSV Diff & Dedupe

Compare two CSV or TSV exports by row identity, not raw text lines — see exactly which rows were added, removed, or changed, and which cells changed within them. Also finds duplicate rows in a single file.

How it works

A full parser (handling quoted fields with embedded commas, newlines, and escaped quotes) turns each file into rows, which are matched up either by a key column you choose or, if you skip that, by row position. Matched rows are then compared field by field to flag which specific cells changed, rather than just flagging that a whole line differs.

FAQ

How does it decide if I've pasted CSV or TSV?
It counts tabs versus commas in the first line and picks whichever delimiter appears more often — you don't need to tell it which format you're pasting.
What happens if I don't pick a key column?
Rows are compared by position instead — row 1 to row 1, row 2 to row 2, and so on — so if rows have simply been reordered rather than genuinely changed, everything after the reorder point will show up as modified.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3