Most of the time you compare two spreadsheets because something changed and you want to know what: a price list from last month and this month, an export from one system and an import file for another, a customer list before and after a clean-up. Looking at them side by side does not work beyond a few dozen rows. A formula such as comparing two cells one by one breaks the moment someone sorts a column or inserts a row. This page matches the rows by a key, such as an ID, and then compares them cell by cell.
What makes it different is that it explains the differences. A large share of the cells that Excel reports as different are not changes at all: a space at the end of a name, a number that is saved as text in one file, a code with its leading zeros dropped. They look identical on screen. This page marks each difference with its likely cause and shows how many would vanish if you ignored it, so you can tell noise from a real change. The files are read in your browser and are not uploaded.
How to use the Compare Two Excel Sheets and Find Every Difference
- Add the two filesDrop an Excel workbook or a CSV file into each box. For two sheets of one workbook, add the workbook once and use the button to compare another sheet. You can also paste cells copied from Excel.
- Choose what identifies a rowThe page suggests the column that looks most like an ID and says how unique it is. Tick another column, or several for a combined key such as region and ID. With none ticked, rows are compared by position.
- Decide what counts as the sameSpaces, number or date stored as text, and different ways of writing the same number are ignored by default. Capitals and leading zeros are not. Each line shows how many cells it affects, so you can switch one on and watch the result change.
- Read the differencesThe changed cells are listed with the key, the column, both values, and the reason. Rows that exist in only one file have their own lists. Spaces at the start or end are made visible, so you can see what is there.
- Save the reportDownload the differences as a CSV or an Excel file to send to someone or to keep as a record.
Why cells that look the same are different
Excel compares values exactly. The text “Smith” and the text “Smith ” with a space after it are different, the number 5 and the text “5” are different, and “00123” and 123 are different. On screen they can look alike, and a lookup or a comparison treats them as different values. Microsoft documents the same trap for VLOOKUP: the lookup value and the source data may be different data types, a number against text, and that returns #N/A. It also describes using TRIM to remove spaces that prevent an exact match.
This page names five causes, and tests each pair of differing cells against them, using the smallest set that makes the two equal. A cell is called noise when it differs only by causes you have chosen to ignore.
- Extra or odd spaces: a space at the start or end, two spaces in a row, a non-breaking space, a line break, or a zero-width character.
- Upper and lower case: the same letters with different capitals.
- Stored as a different type: the number 5 against the text “5”, a date against text with the same date, TRUE against the text “TRUE”.
- Written differently: 1.10 and 1.1, or 2024-3-1 and 2024-03-01. Numbers are compared to 15 digits, the precision Excel keeps.
- Leading zeros: “00123” and 123. These stay as differences by default, because in codes such as ZIP codes and product numbers the zeros can be part of the value.
How rows are matched
Comparing row 1 with row 1 and row 2 with row 2 only works when both files list the rows in the same order, which is rarely true of two exports. A key fixes that: the rows with the same ID are paired, wherever they are. A key can be one column or several, such as a region plus an ID, when no single column is unique.
The page ranks the shared columns by how well they would work as a key: how unique the values are on each side, how many of them appear in both files, and a small preference for columns whose names look like IDs. A column of prices is unique by accident and is ranked down. If two rows share a key, they are paired in the order they appear, and the page reports the duplicates. A row with an empty key is never matched.
When the key itself differs
A common reason for a long list of rows that exist “only in the first file” and “only in the second” is that the key is written differently: 00123 against 123, or a number in one file and text in the other. The page checks this. It takes the rows that found no partner and sees whether they would pair up if the key were read more loosely, and it tells you which cause would do it, so you know to ignore leading zeros or the type difference instead of concluding that hundreds of records were deleted and added.
Dates, numbers, and formulas
An Excel date is a number with a date format. The page reads the number format of each cell and shows a date cell as an ISO date, such as 2024-03-01, so a date in a workbook can be compared with the same date in a CSV file. It follows Excel in counting a 29 February 1900 that never existed, which Microsoft says was kept for compatibility with Lotus 1-2-3, and it reads workbooks that use the 1904 date system.
Formulas are compared by their result: the value Excel saved the last time the workbook was calculated. A formula that gives the same number as a typed value counts as equal. If you need to compare the formulas themselves, this page does not do that. A numeric tolerance can be set for values that differ in the last decimals, for example 10.00 and 10.004 with a tolerance of 0.01.
How this compares with what Excel offers
Microsoft's Spreadsheet Compare finds changes between two versions of a workbook, but according to Microsoft it is available only in Excel for Windows in Microsoft 365 Apps for enterprise plans and equivalent editions, and it needs the Inquire add-in turned on. Formulas such as an equality test between two cells, or conditional formatting, compare by position and need the rows in the same order. A lookup against the other sheet matches by key, but a mismatch in type or spaces makes it fail without saying why.
This page needs no add-in and no Excel, and it works for CSV files, which Excel's own tool does not read. It does less in one respect: it does not compare formatting, comments, or formulas.
Comparing two sheets of one workbook
Add the workbook to the first box and choose a sheet. Then use the button under the second box to read another sheet of the same file, and change the sheet from the list if the first choice is not the one you want. Hidden sheets are listed and marked as hidden. This is the quickest way to compare a January sheet with a February sheet, or a draft with a final version kept in the same file.
Limits and accuracy
- Old .xls files and password-protected workbooks are not read. Save them as .xlsx or CSV in Excel first.
- Formulas are not compared, only the results saved in the file. A workbook that was never calculated, for example one generated by a script without cached results, has empty cells where formulas are.
- Dates are recognized when Excel stores them as dates, and in CSV files when written as 2024-03-01 or 2024-03-01 10:30. A date written 3/4/2024 is treated as text, because it could be March 4 or April 3.
- Formatting, colors, comments, and hidden rows are not compared. Hidden rows and columns are compared like the rest.
- A sheet may have up to 500,000 rows and 2,000 columns, and a file may be up to 60 MB. Beyond that the page asks you to split the file.
- Numbers of more than 15 digits written without a decimal point are treated as IDs and compared as text, so two long IDs that differ in a late digit are not mistaken for each other.
- Merged cells hold their value in the top-left cell only, as Excel stores them.
Frequently asked questions
How do I compare two Excel sheets for differences?
Add both sheets here, either two workbooks or two sheets of one workbook. Choose the column that identifies each row, such as an ID. The page lists every cell that changed, every row that is only in one sheet, and why each difference exists.
Why does Excel say two cells are different when they look the same?
They usually differ in something you cannot see: a space at the start or end, a non-breaking space, a number saved as text against a real number, or leading zeros. This page marks each difference with its cause and shows spaces visibly, so you can tell a real change from noise.
Can I compare two CSV files, or a CSV file with an Excel file?
Yes. CSV, TSV, and Excel files can be mixed. The page finds the separator and the encoding of a CSV file by itself. Numbers in a CSV file are text, and numbers in an Excel file are numbers, so ignoring the type difference, which is on by default, makes them comparable.
What if the two sheets have no ID column?
Tick two or three columns that together identify a row, such as a name and a date. If nothing is unique, compare by position, which works when both lists are in the same order. With duplicate keys the rows are paired in the order they appear.
Does it compare formulas?
No. It compares the values that Excel saved, so a formula counts as its last result. If two formulas give the same result they are equal here. To compare the formulas themselves, use a tool that reads them, such as Microsoft's Spreadsheet Compare.
Why are so many rows listed as only in one file?
Often the key is written differently in the two files, for example 00123 against 123. The page checks whether those rows would pair up if the key were read more loosely, and says which setting would do it. If it does, switch that setting on instead of treating the rows as added or deleted.
Is my spreadsheet uploaded anywhere?
No. The files are read and compared in your browser, and the code behind the page makes no network requests, so a customer list or a price file stays on your device. You can check this in the Network panel of your browser's developer tools.
Research and references
This page was written and checked against the sources below.
