1. Add both files
Open, drag in or paste the original and the new CSV. The delimiter is detected for you.
Compare two CSV files and see which rows were added, removed or changed, with every changed cell highlighted. Your files never leave your browser.
Paste or open two CSV files above to see what changed.
Open, drag in or paste the original and the new CSV. The delimiter is detected for you.
Enter a column like "id" or "email" so rows are matched even if they moved. Leave it blank to match by row number.
Added and removed rows are tagged, and every changed cell shows the old value next to the new one.
| Status | Meaning |
|---|---|
| Added | The row is in the new file but not the original |
| Removed | The row is in the original file but not the new one |
| Changed | The row is in both, but at least one cell is different. The old value is struck through and the new value follows it |
No. Files are opened and compared inside your browser, so they never leave your device. If JavaScript is turned off, pasted text is sent to our server only to build the result and is not saved or logged.
If you enter a key column, such as "id" or "email", rows with the same key are compared with each other wherever they sit in the file. Without a key, row 1 is compared with row 1, row 2 with row 2, and so on.
With "First row is a header" ticked, columns are matched by name, so the order does not matter. A column that exists in only one file shows as changed for every row that has a value in it.
Commas, semicolons, tabs and pipes. The delimiter is detected automatically from the first line of each file. Quoted values with commas or line breaks inside them are handled correctly.
Save or export each sheet as CSV first (File, Save As, CSV), then open both files here.
Files with tens of thousands of rows compare in a few seconds in a modern browser. The table shows the first 1,000 differences to keep the page fast; the summary counts every row.