Compare two spreadsheets

Both files are read in this browser tab. Nothing is sent to our servers.

How it works

Comparing two versions of a spreadsheet by eye is slow and error-prone. This tool reads both files, matches their rows by a key column you choose, and tells you exactly what changed: which rows were added, which were removed, and which had a value change, with the changed cells highlighted.

Both files are parsed in your browser (CSV and Excel .xlsx are supported). Rows are matched on the key (an id, SKU, email, or any column the two files share) so reordered rows still line up correctly. Nothing is sent to a server.

The result is a sortable, filterable table, so even a large reconciliation stays quick to scan.

How to use it

  1. 1 Choose the original file and the updated file (.csv or .xlsx).
  2. 2 Pick the key column to match rows by, such as id, SKU or email.
  3. 3 Read the summary: added, removed, changed and unchanged.
  4. 4 Scan the table, changed cells are highlighted; sort or filter as needed.

Good to know

  • Works with .csv and .xlsx, and you can compare one against the other.
  • Reordered rows still line up, because matching is by key, not by position.
  • Large files stay responsive, the table sorts and filters in place.
  • Both files are read in your browser; nothing is uploaded.

Browser support

  • Chrome 94 and later
  • Firefox 93 and later
  • Safari 16.4 and later
  • Edge 94 and later

These are the oldest versions with everything the tool uses. They are worked out from the tool itself, so they change when it does.

Version numbers checked on 2026-09-04.

Why comparing two spreadsheets is harder than comparing two files

Diffing text is a solved problem: line by line, in order, and the answer is unambiguous. Spreadsheets defeat that immediately, because the row order carries no meaning. Export the same data twice from the same system and the rows may arrive in a different sequence, at which point a line-based diff reports that every row changed. It is technically correct and completely useless.

So a spreadsheet comparison has to start by deciding what makes two rows the same row. That is the key column: an id, an SKU, an email address, an invoice number, whatever uniquely identifies a record in your data. Rows are matched on the key, then compared field by field. Choosing the key is the one decision the tool cannot make for you, and choosing it wrongly is the reason most comparisons produce nonsense. If the key is not unique, two different records collide and the differences reported between them are meaningless.

The second trap is numeric equality. Spreadsheets store numbers as IEEE 754 doubles, and values that are equal in arithmetic are frequently not equal in bits. 0.1 plus 0.2 is not 0.3 in any language that uses doubles, including the one your spreadsheet application is written in. Compare two exported price lists with exact equality and you will find "differences" of one ten-billionth of a rupee scattered through them. A comparison that is useful for money needs a tolerance, and the tolerance needs to be visible so you know what it is treating as identical.

Formatting is the third. A cell holding the number 1000 and a cell holding the text "1,000" look the same to a person and are not the same value. Dates are worse: a date is a number with a display format, and the same underlying day can appear as 08/20/2026, 20-08-2026 or 46,258 depending on locale and format. Comparing what is displayed rather than what is stored produces false differences; comparing what is stored without normalising produces the opposite.

All of this runs in your browser, which for this tool is usually the point. The files that people most need to reconcile, bank statements against ledgers, supplier price lists, payroll exports, are exactly the files that should not be uploaded to a stranger to answer a question as small as "what changed".

Frequently asked questions

How do I compare two Excel files for differences?

Choose the original and updated files, pick the column to match rows by, and the tool lists added, removed and changed rows.

Can it compare CSV files too?

Yes. Both .csv and .xlsx are supported, and you can compare one against the other.

How are rows matched between the two files?

By a key column you choose (for example id, SKU or email). Rows sharing the same key are compared cell by cell.

Are my spreadsheets uploaded?

No. Both files are read and compared inside your browser.

What counts as a “changed” row?

A row whose key exists in both files but where at least one cell value differs. The differing cells are highlighted.

Related tools

Your files are processed on your device and are not uploaded. You can verify this in your browser’s developer tools under the Network tab.