Free · No upload · No account

An Excel diff that reads the workbook, not the zip

An .xlsx is a zip of XML, so text-diffing it buries you in reordered strings and shuffled styles. SheetDelta reads the spreadsheet itself — aligning rows, reading formulas as logic, filtering save-noise.

Diff two workbooks in your browser

Drop an old file and a new one. The diff runs locally — nothing is uploaded.

Old / Base file

.xlsx .xlsm .xls .xlsb

or click to browse

New / Modified file

.xlsx .xlsm .xls .xlsb

or click to browse

Files never leave your computer. All processing happens locally via WebAssembly.
Runs 100% in your browser. Your files never leave your computer.

Why git diff on an .xlsx is useless

Rename an .xlsx to .zip and open it: you’ll find a tree of XML files. The cells live in one part, the strings in another, the styles and the calculation chain in others. Excel regenerates much of that on every save, even when you changed a single number.

So if you unzip and text-diff two versions, here’s the kind of thing you get back:

$ unzip new.xlsx -d new/
$ git diff --no-index old/ new/

  xl/sharedStrings.xml   | 4180 ++++++++++++++++-------------------
  xl/worksheets/sheet1.xml | 2932 +++++++++++++--------------
  xl/calcChain.xml       |  611 +++---
  xl/styles.xml          |  140 +-
  ...thousands of lines, and not one of them tells you
     the discount rate changed from 8% to 9%.

The signal you wanted is in there somewhere, drowned under thousands of lines of reordered shared strings and renumbered styles. A workbook-aware diff throws that noise away and tells you the one thing you asked: the discount rate in Assumptions!B12 went from 8% to 9%.

What a workbook-aware diff does instead

Reads the workbook, not the zip

Aligns rows and sheets

Formulas compared as logic

Save-noise filtered out

Made for review, not just detection

Local and free to start

If you got here from a code review

Plenty of teams keep an .xlsx in the repo — a pricing sheet, a config matrix, a fixtures workbook — and every change lands as an unreviewable binary blob. Reviewers approve it because they can’t see inside it, which is the opposite of what review is for.

SheetDelta’s CLI and GitHub Action wire a readable workbook diff into the place you already work: the terminal, the pull request, and CI. Approvers see the changed cells and formulas in the diff, the same way they’d review a code change. The browser tool here is the quick, no-setup way to see the same thing for two files on your desk.

Frequently asked questions

Why not just unzip the .xlsx and text-diff the XML?
Does it diff formulas and VBA, or only values?
Can I run an Excel diff in Git, a PR, or CI?
Is it online or offline, and is it free?
What formats does the diff handle?
Does SheetDelta merge or branch workbooks like Git does for code?

Want Excel diffs in every pull request?

The CLI and GitHub Action post a readable workbook diff on each change, so reviewers stop rubber-stamping binary blobs.