Toolvore

Compare Excel Files

Compare typed cached values in two XLSX sheets and export added, removed and changed cells locally.

This tool processes its input contents in your browser instead of sending them to a processing service. Page, asset and fixed usage-measurement requests are described on the Privacy page.

Compare typed cached values at matching positions in two selected XLSX sheets, then download structured JSON, formula-neutralized CSV or XLSX reports.

How to use it

  1. 1Choose the left and right XLSX workbooks and select one worksheet from each.
  2. 2Create a positional typed-value report and review added, removed and changed cells.
  3. 3Download JSON, CSV or XLSX while retaining the stated formula, formatting and row-alignment limits.

Example

Input
inventory-before.xlsx and inventory-after.xlsx · Inventory sheet on both sides
Output
Five differences: two changed values and three added values from a new record, with cell references and typed left/right values

The example demonstrates positional behavior: a new final row adds three cells rather than being described as one inferred business record.

What happens to your data

Workbook names and cell contents stay in browser memory. Fixed usage measurement can include the tool action and aggregate file count or total bytes, never filenames, sheet names or cell values. Reports are created only after an explicit comparison.

Last updated November 2026

Compare one selected worksheet from each of two XLSX files by typed value at the same cell position. The report distinguishes a blank from text, a number, a Boolean or a date; counts added, removed and changed values; and provides JSON, formula-neutralized CSV and XLSX downloads. It is a precise grid comparison, not a visual workbook diff or automatic row matcher.

How it works

Choose a left workbook and a right workbook, then select one sheet from each. The same archive and workbook bounds used by Merge Excel apply before comparison: 8 MiB compressed per file, 24 MiB combined, matching central and local ZIP headers, bounded entry counts and expansion, at most 50 parsed sheets, 100,000 rows and 250,000 rectangular cells across the two files. Macro-bearing, embedded-object, ZIP64, multi-part and encrypted archives are refused. Each read runs in a terminable local worker with a 20-second limit. Both complete workbooks are parsed for the bounds even though only two sheets are compared.

The comparison grid is the maximum row and column extent of the two selected sheets, capped at 250,000 positions. A1 is compared with A1, B1 with B1, and so on. A value present only on the right is Added; one present only on the left is Removed; two nonblank unequal values are Changed. Number 1, 1.0 and 1e0 compare equal because their bounded decimal tokens have the same exact value. Text 1 remains different from numeric 1, and an empty text cell is different from an absent cell when the workbook reader exposes that distinction. Dates compare by the ISO-style browser representation produced from the XLSX date cell.

The report stops rather than truncating when more than 20,000 cells differ. JSON retains the structured report and the exact displayed tokens. CSV includes both source labels and neutralizes every value beginning with a spreadsheet formula marker by prefixing an apostrophe; the result reports that count. XLSX contains Summary and Differences sheets, and every untrusted text value is explicitly written as text. None of the report formats modifies either source workbook.

Inserting a row or column can make many later positions differ because this tool does not align records by an ID, infer a primary key, ignore whitespace or compare formulas semantically. It also does not state which version is correct, prove audit integrity or replace version control. A zero-difference report means the supported typed cell values at matching positions were equal; it does not mean the workbooks are byte-identical or visually identical.

This is a data-only workflow. XLSX formula cells expose only the value last cached by the application that saved the file; a formula without a cached value can appear blank. Formula text is not recalculated or copied. Cell styles, number formats, comments, links, merged ranges, charts, images, macros, hidden state and workbook automation are not preserved or inspected. Use a full workbook application when those features are part of the result you need.

Workbook contents and filenames are read in this browser and are not posted by either tool. Normal page and usage measurement described on Privacy can include the tool action and aggregate file count or total byte count; it does not include filenames, sheet names or cell values. A result leaves the page only when you download it.

Worked example: Review a stock-count refresh by cell position

Input
inventory-before.xlsx and inventory-after.xlsx · Inventory sheet on both sides
Result
Five differences: two changed values and three added values from a new record, with cell references and typed left/right values

The example demonstrates positional behavior: a new final row adds three cells rather than being described as one inferred business record.

Common use cases

  • Checking whether a refreshed export changed values at known cell positions
  • Producing a reviewable list of added, removed and changed cached values
  • Confirming that a plain data handoff stayed equal after a bounded conversion
  • Downloading a structured local diff for a bug report without uploading the workbooks

Frequently asked questions

Does this compare formulas or their results?+

It compares only the cached cell value available to the XLSX reader. Formula text and recalculation are not inspected. Two different formulas with the same cached value can look equal, and a formula saved without a cached value can look blank.

Will inserted rows be aligned automatically?+

No. This is a positional grid comparison. If a new row is inserted near the top, later positions can all differ. Sort and align both tables by a stable key before comparing when record identity matters.

Why are 1 and 1.0 equal but text 1 is different?+

Numeric spellings are canonicalized as exact bounded decimals, so equivalent numeric values compare equal without floating-point rounding. A text cell has a different type and therefore remains different from a numeric cell.

What does a zero-difference result prove?+

Only that the supported typed cached values matched at every compared position. Formatting, formula text, comments, links, hidden state, charts, macros and the raw ZIP bytes may still differ.

Are downloaded CSV values safe to open in a spreadsheet?+

The CSV report prefixes cells beginning with =, +, - or @ so report data is not interpreted as a formula by common spreadsheet applications. That is a deliberate text mutation. JSON retains the exact report strings, and XLSX writes them as explicit text cells.