Compare Spreadsheets

Changed cells, added rows and removed rows between two exports, listed one by one.

Paste two versions of the same spreadsheet and see exactly what changed: which rows were added or removed, and which cells changed, old value beside new value. Compare by row position when both files are in the same order, or by a key column when rows may have moved. Parsing follows RFC 4180. Nothing is uploaded: both files stay in your browser.

Honest limits. Comparison is textual: "250" and "250.00" count as different, and a moved row in position mode shows as a removal plus an addition, not as a move. Use key mode when rows may have been reordered. Columns are matched by exact header name, so a renamed column shows as a removed column plus an added column. Formatting, formulas and colours are not compared: this tool reads values only, the way a CSV sees them.

Why eyeballing two spreadsheets fails

Two exports of the same list, one from last week and one from today, can differ in hundreds of places, and the differences that matter are rarely the obvious ones. A price changed from 250 to 25, a row deleted in the middle, a city quietly corrected: each one is invisible in a side-by-side scroll, and each one changes what the data means. A cell-by-cell comparison turns that hunt into a list you can work through: every changed cell with its old and new value, every added row, every removed row, counted up front so you know how big the job is before you start.

Two comparison modes cover the two real situations. Position mode assumes both files list the same rows in the same order, which is true when one file is an edited copy of the other. Key mode assumes rows may have moved, been inserted or deleted, and lines them up on a column you choose, an ID or an email, so a row that moved to the bottom is recognised as the same row, not reported as deleted and re-added. In both modes, columns are matched by header name, and the diff output is itself a CSV you can save, filter or send to a colleague.

Position mode vs key mode

Position mode compares row 1 with row 1, row 2 with row 2, and reports any extra rows at the end as added or removed. It is fast and exact when order is preserved. Key mode builds a lookup on your key column first, so order does not matter, but it needs a key that is unique in both files; a duplicated key is reported and its first row wins.

Text comparison, on purpose

Cells are compared as text, so "250" and "250.00" are flagged as different even though they mean the same amount. That strictness is a feature: a changed format can break an import even when the value is the same. Trimming and case-insensitive comparison are options, not defaults, because silently ignoring a difference is worse than showing one you can dismiss.

Frequently Asked Questions

Paste or upload the old CSV and the new CSV, pick position mode if both files list rows in the same order or key mode if rows may have moved, and press Compare. You get a summary count plus a cell-by-cell list of every change, old value beside new value, which you can copy or download as a CSV.
Position mode compares row 1 with row 1, row 2 with row 2, and so on, and treats extra rows at the end as added or removed. Key mode lines rows up on a column you choose, such as an ID, so a row that moved is recognised as the same row instead of a removal plus an addition.
Any cell whose text differs after optional trimming, including a number written differently, such as 250 versus 250.00. Turn on ignore-case if capitalisation differences should not count.
Columns are matched by exact header name, so a renamed column appears as one removed column and one added column, with all its cells listed as removed and added. Rename it back in one file if you want a clean cell-level diff.
The first row with that key wins, and the summary reports how many duplicate keys were found in each file, so the ambiguity is visible instead of silently picked.
No. CSV files carry values only, so this tool compares values as text. Colours, fonts, formulas and cell formatting are not part of a CSV and are not compared.
No. Both files are parsed and compared in your browser. Nothing leaves your device.

Related Tools

Was this tool helpful?

Comments

Loading comments...

Check Out Other Popular Tools