Skip to content
Handy Browser Tools

CSV Compare

Paste or load two CSVs, name the key column, and see exactly which rows were added, removed or changed — row order doesn't matter. Export a change report for the full picture.

How to use
Private by default: processing stays on your device

Rows match by these columns, not by order. Empty means the first column.

Same rows, any order.

Added, removed and changed records by key.

How comparison works

Rows are matched by the key columns you name — row order never matters, and column order doesn't either. Duplicate keys are reported (first occurrence wins) and rows with an empty key are listed separately, never silently merged. Every value stays text: large IDs and leading zeros are preserved exactly.

The downloadable report prefixes spreadsheet-formula triggers (=, +, -, @) with a tab so Excel and Sheets can't execute cell contents; the on-screen values are unchanged.

Limits: 5 MB per input, 50,000 rows, 500 columns. Quoted delimiters, multiline fields and BOMs are handled.

How to use this tool

  1. Paste or load the old CSV on the left and the new CSV on the right, then name the key column (or several, comma-separated). Rows match by key, never by position.
  2. Optionally ignore volatile columns such as timestamps, then select Compare CSVs to review added, removed and changed records.
  3. Download the change report for the full picture — spreadsheet-safe against formula injection.

Example: a price change

Input

Old: id,name,price\n1,Apple,100\n2,Banana,200 — New: id,name,price\n1,Apple,100\n2,Banana,250

Output

1 changed cell (row 2, price 200 → 250), 0 added, 0 removed.
Share this page X LinkedIn Reddit

These buttons share the page link, not your input.

Frequently asked questions

Do the rows need to be in the same order?

No. Rows are matched by the key columns you name, so reordered files compare as equal when nothing changed. Column order doesn't matter either.

What happens with duplicate or missing keys?

Duplicate keys are reported with their counts (the first occurrence wins), and rows with an empty key are listed separately — nothing is silently merged.

Are large IDs and leading zeros preserved?

Yes. Every value stays text throughout, so identifiers beyond the safe-integer range and codes like 007 compare exactly.

Is the exported report safe to open in Excel?

Yes. Cells starting with =, +, - or @ are prefixed with a tab in the export so spreadsheets can't execute them; the on-screen values are unchanged.

Are my files uploaded?

No. Comparison runs entirely in your browser, and drafts stay in this browser's local storage.

JSON Compare

Compare two JSON documents free in your browser.

Text Diff Checker

Compare two texts online and see added and removed lines highlighted.