Excel Diff

Compare .xlsx, .xls, and .csv files cell by cell across sheets. See added rows, removed rows, and changed values with old and new side by side. Parsed in your browser, never uploaded.

How to use the Excel Diff

  1. Upload or drag File 1 (Original) and File 2 (Changed) into the two drop zones.
  2. Pick a sheet to compare — sheets present in both files are shown as buttons; sheets unique to one file are labeled "(old only)" or "(new only)" and cannot be compared.
  3. Click Compare to generate the diff table, with Old/New columns for every field.
  4. Toggle "Changes only" to hide unchanged rows and focus on what differs.
  5. Click Export to download the diff as a new .xlsx workbook.

Rows are matched by position, not by a key column — if rows were inserted or deleted in the middle of the sheet, everything after that point will show as changed. Sort both files by a stable key column before comparing for the cleanest results.

About the Excel Diff

Spreadsheets get emailed around, edited by several people, and returned with no record of what changed. Somewhere in 4,000 rows a value moved, and the file gives you no way to find it.

This tool opens two workbooks in your browser and compares them cell by cell, sheet by sheet, reporting added rows, removed rows, and individual changed cells with both the old and the new value.

When you'd use it

  • Finding what a reviewer changed in a spreadsheet they returned without comments.
  • Comparing this month's data export against last month's.
  • Verifying that a data migration or transformation preserved everything it should have.
  • Reconciling two versions of a pricing sheet, budget, or inventory list.
  • Checking a CSV export against the source spreadsheet it came from.

How sheets are matched

Sheets are matched by name across the two workbooks. A sheet present in only one file is reported as added or removed in its entirety rather than compared against an unrelated sheet.

This means renaming a tab reads as one sheet removed and another added. That is the honest result — the tool has no way to know a rename happened rather than a replacement — but it is worth knowing before you conclude that everything changed.

Values, not formulas

The comparison uses computed cell values, which is what the .xlsx format stores alongside each formula. If a formula changed but produces the same result, the cell is reported as unchanged. If a formula is unchanged but its inputs moved, the cell is reported as changed.

This is the right default for the common question — did the data change — but it does mean this tool will not catch a formula rewrite that happens to yield identical numbers.

Formatting and types

Dates in Excel are stored as serial numbers counting days from an epoch, and formatting decides how they display. Two cells showing 2026-03-01 and 01/03/2026 are the same value with different formats, and the comparison correctly treats them as unchanged.

The reverse trap is more common: a number stored as text is not equal to the same number stored as a number. If a whole column reads as changed after a CSV round trip, the type is usually why — CSV has no types, so everything comes back as text.

Rows that shifted

Rows are compared by position. Inserting a row near the top of a sheet shifts every row below it, and a positional comparison will report all of them as changed even though the content merely moved down one.

If you see a change count close to the row count, this is almost certainly the cause. Sorting both sheets by a stable key column before comparing gives a diff that reflects real edits.

Frequently asked questions

Which file types can it read?
.xlsx, .xls, and .csv. CSV files are treated as a single sheet with no type information, since the format carries none.
Is my spreadsheet uploaded?
No. The file is parsed in your browser. This matters for spreadsheets, which routinely contain salary data, customer lists, and financial figures that should not be handed to a third-party service.
Does it compare charts, images, or conditional formatting?
No. The comparison covers cell values and sheet structure. Embedded objects and formatting rules are outside its scope.
How big a workbook can it handle?
Tens of thousands of cells compare quickly. Very large workbooks — hundreds of thousands of populated cells — will be slow to parse and to render, because both files are held in memory at once.
Why is every cell in a column showing as changed?
Usually a type difference, most often numbers that became text in one of the files. Check whether one side went through a CSV export.

Related tools