Compare Two Excel Files and Find the Differences
Compare two Excel workbooks sheet by sheet: added, removed and changed rows matched by an ID column, changed cells highlighted, the full comparison as a new workbook. Free, in your browser.
Original
Paste cells or a Google Sheets link
Changed
Paste cells or a Google Sheets link
How it works
Add both files
The original and the changed version: CSV, Excel, JSON, YAML, XML, text or code, or cells pasted from Google Sheets.
Match them up
Tables are matched row by row on a key column found for you (an ID, SKU or email); JSON, YAML and XML key by key, with lists of records matched by their id; text line by line.
See the differences, download them all
The summary and the first differences show on the page, old values struck through and new ones beside them. The full comparison downloads as Excel, CSV, a highlighted HTML report, a unified diff or a JSON list of changes.
Compare two Excel files, sheet by sheet
To compare two excel files, drop in both workbooks and pick the sheet in each. Rows are matched by a column that names them (an ID, SKU or email is found for you), so a re-sorted sheet is not every row changed. This excel compare shows added rows, removed rows and, in changed rows, the old value struck through beside the new one.
Numbers are compared as numbers (1,200 matches 1200.00), and case, extra spaces and columns you expect to change, such as a last-updated date, can be ignored. The first differences show on the page; the full excel diff downloads as a workbook with every difference on one sheet and the counts on another.
Works with .xlsx and .xlsm, password-protected workbooks (you enter the password), CSV and Google Sheets. For JSON or text, see JSON compare and text compare.
People also search for
- spreadsheet compare
- compare excel columns
- excel file compare
- csv compare
Why it matters
Private by design
Bank statements, payroll and customer lists never leave your computer: the file is read and written in your browser.
Nothing silently changed
Leading zeros, long ID numbers, commas inside quotes and line breaks inside cells come through exactly as they were.
Numbers stay numbers
Values like 1,234.50, $1,200 and 7% are recognised, so Excel and JSON get real numbers rather than text.
Questions
What if the rows are in a different order?
Choose a key column (an ID found in both files is picked for you) and rows are matched by it, whatever order they are in.
Can I ignore case, spaces or a column?
Yes. Ignore upper and lower case, extra spaces, and any columns - a last-updated timestamp, say - that you expect to differ.
Is 1.0 the same as 1?
By default, yes: numbers are compared as numbers, so 1,200 and 1200.00 match. Switch that off to compare the exact text.
Can it compare Excel files or Google Sheets?
Yes: drop in two .xlsx files (and pick the sheet in each), or paste cells from Google Sheets for either side.
Can it compare JSON, YAML or XML?
Yes, key by key: the order of keys does not matter, numbers match their text form if you want, and lists of records with an id are matched by it even when re-ordered. Each difference shows its path, such as items[id=3].price.
Can it compare text or code?
Yes, line by line, as a diff checker: added and removed lines with their line numbers, and a unified .diff you can apply with git or patch.
Why are only some differences shown?
The page shows the summary and the first ten differences so you can check the comparison at a glance. The full comparison, every difference, is one click away as Excel, CSV, an HTML report or a diff.
Is my data uploaded?
No. The whole conversion runs in your browser, so the file never leaves your computer.
Can it open a password-protected PDF or Excel file?
Yes. Drop it in and you are asked for the password; the file is unlocked in your browser and the password is never sent or saved. PDFs locked with RC4 or AES (up to AES-256, PDF 2.0) and Excel workbooks saved with Encrypt with Password both open. A PDF that only restricts copying or printing opens without asking. Without the password nothing is guessed: the file stays shut.
How big a file can it handle?
Hundreds of thousands of rows are fine on a normal laptop; the preview shows the first rows and the download has them all.