Product plus currency identifies a price
Before / after: use custom keys SKU, Currency in the CSV tool. SKU alone is ambiguous. The composite key yields one changed price and two matches. 001, 01 and 1 are different identifiers.
Compare records from the first worksheet of each XLSX file, or from a CSV. Other worksheets are not compared. Content stays in your browser. Everything runs locally, with no account required.
XLSX · CSV
XLSX ≤ 30 MB compressed · expanded ≤ 150 MB · 100,000 rows × 1,000 columns · CSV/TSV ≤ 50 MB
Compare records from the first worksheet of each XLSX file, or from a CSV. Other worksheets are not compared. Content stays in your browser.
Content is processed in your browser · Not sent to the application server · Free to use
Synthetic worked examples · 22 October 2026
Use the synthetic sample action above the workbench, then click Compare. To load files yourself, download warehouse.csv and shop.csv, select SKU as the key, and keep tolerance at 0. Row order differs intentionally. Preserve SKU codes such as 0001 as text.
The expected result is 16 changed, 2 added, 2 removed and 4 matched records. A repeated DUP key and a blank key are held for review, rather than paired by row order. Download the expected counts and rules. Negative stock is a reported value; ExactDiff cannot decide which source is correct.
Before / after: use custom keys SKU, Currency in the CSV tool. SKU alone is ambiguous. The composite key yields one changed price and two matches. 001, 01 and 1 are different identifiers.
Both before and after total 30, but A is duplicated. Reconciliation reports one withheld group, with no claimed matches. A full-row duplicate check is a different question from key uniqueness.
Formula workbook / value workbook: Sheet!B2 changes from 1+1 to a stored 2. Formula diff reports the removed expression; data comparison sees the same cached value. Neither tool recalculates or approves the formula.
Semicolon fixture includes a quoted semicolon, escaped quotation marks, a newline inside a field, Unicode and decimal commas. The parser keeps 10,50 as text. No date, currency or locale conversion is implied.
Before workbook / after workbook: Inventory is unchanged; Prices and Archive values change, and Archive is renamed. Data reconciliation compares only the first worksheet, Inventory, and warns that the workbook has three sheets. Formula diff and structural audit scan all sheets for their respective tasks; neither is a full workbook value diff. Coverage and expected outcomes.
ExactDiff reads the first worksheet locally, matches records using the selected key, normalizes values according to your settings, and reports each changed field.
The comparison is deterministic: the same files and settings produce the same classification. File contents remain inside the current browser session.
No. The browser reads and compares them on your device; ExactDiff does not send file contents to a server.
Yes. Key-based matching treats row order as irrelevant and compares the records with the same key.
Runs in your browser
Content is processed in your browser and not sent to the application server
Works without an account