Home › Developer Tools › Compare Excel Files

Compare Excel Files

Open an original and a changed workbook to see every difference: changed cells with old and new values, inserted and deleted rows, and added or removed columns and sheets. Match rows by a key column such as an ID, by automatic row alignment, or by cell position, then download a color-coded diff report.

Last updated:

Original file

Sample: inventory_v1.xlsx

Changed file

Sample: inventory_v2.xlsx

Drop .xlsx, .xlsm, .csv or .tsv files on the boxes. Files never leave your browser.

added rowremoved rowchanged cellold → new

Advertisement
Advertisement

How to use the Compare Excel Files

  1. Open the original workbook on the left and the changed workbook on the right (or drop the files). A sample comparison is shown until you do.
  2. Pick the sheets to compare. Sheets with the same name are paired automatically and listed with their number of changes.
  3. Choose how rows are matched: by a key column (ID, SKU, email) when rows may be re-sorted, by row alignment to detect inserted rows, or by cell position for fixed layouts.
  4. Fine-tune the rules: ignore case or spaces, set a number tolerance, exclude a column such as a timestamp, or compare formulas too.
  5. Review and export: filter to changed, added or removed rows, open the cell change list, and download the diff report XLSX.

Choosing how rows are matched

SituationKey columnRow alignmentCell position
A row was inserted in the middle1 added row1 added rowEvery row below looks changed
The sheet was sorted differentlyNo false changesMany moved rows show as added + removedMost rows look changed
No unique ID columnNot possibleBest choiceWorks if rows never move
Fixed form or template (values at fixed cells)Not suitableWorksBest choice
A value in a row was editedChanged cellChanged cellChanged cell

Row alignment works like a text diff: rows that are identical in both sheets are lined up (using the Myers longest-common-subsequence algorithm), and the leftover rows between two matches are paired as changed rows. Extra rows without a partner are reported as added or removed.

What counts as a difference

  • Values, not formatting. Fonts, colors, borders, column widths and number formats are ignored. A cell formatted as currency ($1,200.00) and a plain 1200 are the same value.
  • Numbers are compared as numbers, so 5, 5.0 and 5.00 match. Set a tolerance such as 0.01 to ignore rounding noise from recalculated formulas.
  • Dates are converted from Excel serial numbers (both the 1900 and 1904 date systems) to YYYY-MM-DD, so a date and its text form compare correctly.
  • Formulas are compared only when you tick Compare formulas. Values are the results Excel saved with the file; if a workbook was saved without recalculating, the stored values may be stale.
  • Columns are matched by header name when the first row is a header, so an inserted column is reported once instead of shifting every value to the right.

Tips

  • Exclude columns that always change, such as Last updated or Modified by, with Ignore column.
  • Comparing CSV exports instead? The CSV Diff Checker also accepts pasted text. To look inside a single workbook, use the Excel Viewer.
  • Legacy .xls and .ods files need the SheetJS library, which loads from a CDN on first use. .xlsx, .xlsm, .csv and .tsv are read without any library.

Frequently asked questions

How do I compare two Excel files for differences?

Open the original file on the left and the new version on the right. Sheets with the same name are paired, and the tool shows each changed cell with its old value crossed out and the new value next to it. Added rows are green and removed rows are red.

Which matching mode should I use?

Use Key column when each row has a unique identifier such as an ID or SKU: rows are found by key, so sorting differences don't show up as changes. Use Row alignment when there is no key but rows were inserted or deleted; it lines up identical rows like a text diff. Use Cell position for forms and fixed layouts where every value has a fixed address.

Does it compare formulas or only values?

By default it compares the values stored in the file (the results Excel last calculated). Tick Compare formulas to also flag cells whose formula text changed, for example =SUM(B2:B9) becoming =SUM(B2:B10), even if the result is the same.

Why do dates or numbers look different from Excel?

The tool compares the underlying values, not the display format. Dates are shown as YYYY-MM-DD, and numbers are shown without currency symbols or thousands separators, so a change of format alone is not reported as a difference. Use the number tolerance to ignore tiny rounding differences.

What is in the diff report XLSX?

A Summary sheet with counts per sheet, a Changes sheet with one row per changed cell (sheet, cell address, row, column, old and new value) plus added and removed rows, and one color-coded Diff sheet per compared sheet in which changed cells show old → new.

Can I compare files with different sheet names or column orders?

Yes. Pick any sheet from each file in the sheet menus. When the first row is a header, columns are matched by header name, so inserted, deleted or reordered columns are detected instead of shifting every value.

Are my spreadsheets uploaded?

No. Both workbooks are unzipped and compared in your browser with JavaScript, and the report is generated locally. Nothing is sent to a server.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

CSV Diff CheckerCompare two CSV files by key column and see added, removed and changed rows cell by cell.Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.JSON CompareCompare two JSON documents and see every added, removed and changed path.Query CSV with SQLRun SQL on CSV, Excel, JSON and Parquet files in your browser with DuckDB. Join and export.XLS to XLSX ConverterConvert old Excel 97-2003 .xls workbooks to modern .xlsx files in your browser, several at once.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.CSV to JSONConvert CSV data to JSON with live preview.Excel to CSVConvert XLSX spreadsheets to CSV.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.JSON to Go StructTurn JSON into Go structs with inferred types, nested structs and json tags.SQL to ER DiagramPaste CREATE TABLE statements and get an entity-relationship diagram with keys and links.XML to XSD GeneratorGenerate an XML Schema (XSD) from sample XML: types, occurrences, attributes and namespaces.XML ValidatorCheck if XML is well-formed, see the exact line and column of each error and pretty-print it.Wildcard Mask CalculatorConvert a subnet mask or CIDR to a wildcard mask for ACLs and OSPF, with range and binary.CSV to VCF ConverterConvert a contacts CSV into a vCard (.vcf) file, mapping columns to name, phone, email and more.CSV to YAML ConverterConvert CSV rows to a YAML list of mappings with type inference and delimiter detection.Endianness ConverterSwap byte order of 16, 32 and 64-bit hex values and see big- and little-endian integers and floats.Excel to SQL ConverterTurn an Excel sheet into CREATE TABLE and INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server.Excel to VCF ConverterTurn an Excel contact list into a vCard .vcf file for iPhone, Android, Google or Outlook.File to C ArrayConvert any file into a C or C++ byte array header, like xxd -i, with const and PROGMEM options.Image to C ArrayConvert images to monochrome, RGB565 or RGB888 C arrays for OLED, LCD and TFT displays.JSON Merge ToolDeep-merge two or more JSON objects with array concat, replace or union and a conflict rule.JSONL to CSV ConverterConvert JSON Lines / NDJSON to CSV with flattened columns; streams large files locally.PHP Unserialize OnlineDecode PHP serialize() strings to JSON, a tree or print_r, and serialize JSON back to PHP.SQL Dialect ConverterTranslate SQL between MySQL, PostgreSQL, SQLite, SQL Server, Oracle, BigQuery and more.TSV to JSON ConverterTurn tab-separated data pasted from Excel or Sheets into a JSON array or keyed object.XML to Excel ConverterTurn repeating XML elements into an .xlsx spreadsheet with attributes and nested data as columns.XSD to XML Sample GeneratorGenerate a sample XML document from an XSD schema, with types, attributes and namespaces.YAML to CSV ConverterTurn a YAML list of objects into CSV with dot-notation columns, custom column order and download.DOCX to Markdown ConverterConvert Word .docx to clean Markdown with headings, lists, tables, links and images in a ZIP.ES6 to ES5 ConverterTranspile modern JavaScript (ES2015+) to ES5 with Babel: targets, module format and loose mode.JavaScript Object to JSONTurn JS object literals and Python dicts into valid JSON: quotes keys, fixes commas and values.JSON Graph VisualizerSee JSON as an interactive node graph with zoom, collapse and search; export PNG or SVG.KML ViewerOpen KML and KMZ files on an interactive map: placemarks, paths, polygons, folders, export.MySQL to PostgreSQL ConverterConvert MySQL dumps and CREATE TABLE statements to PostgreSQL: types, AUTO_INCREMENT, ENUMs, quotes.Text to CSV ConverterTurn space-aligned, fixed-width, pipe or tab separated text into clean CSV with a live preview.VCF File ViewerOpen vCard .vcf files as contact cards with photos, search and duplicate check, export CSV.XML ViewerBrowse XML as a collapsible tree with search, XPath of any node, attributes and big-file support.JSON to Python ClassGenerate Python dataclasses, Pydantic models or TypedDicts with type hints from JSON.JSON to C# ClassConvert JSON to C# classes or records with System.Text.Json or Newtonsoft attributes.
See all 129 Data & File Format Converters →