Check reference updates
Compare product lists using stable references to find new records, removals and property changes.
Analyze two tables side by side, identify added, removed, or changed rows, and export a detailed comparison report.
Your files are processed locally in your browser and are never sent to our servers.
Drop your file here
Recommended size: up to 40 MB
Previous version:
New version:
Comparing spreadsheet versions helps identify added, removed or changed records without reading every line manually. This comparator uses one shared column as a key, then compares complete matched records. It produces a difference report rather than an Excel workbook with colored cells or comments. The first file is the earlier state and the second is the newer state, determining the direction of additions and removals. Choose a stable key and inspect imported value types before interpreting the report.
Select exactly two CSV, TSV, XLSX, XLS or flat tabular JSON files. The drop zone permits up to 40 MiB per file; both tables and the report must fit browser memory. Only the first sheet of each workbook is used here. Styles, macros and active formulas are not compared. Displayed workbook values are read as text while scalar JSON types may remain distinct. Available keys are column names shared by both imported tables.
The selected key becomes text for matching, without trimming spaces or ignoring case. JSON numeric 1 and text 1 may match as keys but their complete records still differ by type. Empty or null keys also form a group rather than being skipped. With repeated keys, identical records match first, then remaining occurrences are paired. Extra occurrences become additions or removals. Records are not overwritten merely because the same key appears more than once.
Complete pairs are compared using field names and types, ignoring JSON property order. Spaces, case, missing columns and value differences remain significant. Unchanged rows are omitted. Added and removed records include their data with _status and _key; changed records contain JSON text in _before and _after. If a report field name already exists in the sources, a free suffix such as _status_2 preserves the original data. The same metadata name is used throughout the report. XLSX, CSV and JSON exports contain differences without cell-by-cell highlighting.
Import both files and check the names shown under Previous version and New version. Swap them if necessary before comparing. Check the first worksheets and the value conventions of matching columns.
Prefer a stable identifier to an amount or changing label. Review empty and repeated keys; occurrence matching cannot determine business identity for you.
Check an addition, removal and change against the sources. Read _before and _after before export; an empty report is not a general business validation.
Compare product lists using stable references to find new records, removals and property changes.
Review ticket or account extracts without mistaking a moved row for a content change.
Inspect changes after file correction while retaining both versions and a key with unchanged meaning.
Key: id. Record 3 is added, 2 is removed and 1 changes. All three categories appear in the report.
Input
BEFORE
id;name
1;Ada
2;Mark
AFTER
id;name
1;Adele
3;LeaResult
[
{
"id": "3",
"name": "Lea",
"_status": "added",
"_key": "3"
},
{
"id": "2",
"name": "Mark",
"_status": "removed",
"_key": "2"
},
{
"_status": "changed",
"_key": "1",
"_before": "{\"id\":\"1\",\"name\":\"Ada\"}",
"_after": "{\"id\":\"1\",\"name\":\"Adele\"}"
}
]Key: id. A/20 matches its identical record first; A/10 is compared with A/30. One change appears without false additions or removals.
Input
BEFORE
id;value
A;10
A;20
AFTER
id;value
A;20
A;30Result
[
{
"_status": "changed",
"_key": "A",
"_before": "{\"id\":\"A\",\"value\":\"10\"}",
"_after": "{\"id\":\"A\",\"value\":\"30\"}"
}
]Not when its key and content remain identical. Matching uses keys rather than positions, and JSON property order is ignored. A space, value type or extra column can still cause a difference even when the displayed values look similar.
All occurrences are retained. Identical records match first, remaining occurrences are paired, and excess records become additions or removals. A unique key is still preferable when a change must be attributed to one particular business record.
Not here: one shared column name serves as the key for both files. Rename a heading first when necessary. The join tool supports different left and right keys but produces an enriched table instead of a change report.
No. It is a table of differences with statuses and JSON before/after representations for changes. Workbook colors, styles and formulas are not compared. Use the report to inspect source values rather than treating it as an annotated original workbook.
Related tools
Tools similar or complementary to this one.
Compare two CSV files to quickly identify rows and values that differ between them.
Remove duplicates, empty rows and unnecessary spaces.
Match two tables on a shared column without uploading your files.
Learn how to compare two versions of a table using a stable key and distinguish added, removed and modified records.
Put cleaning, validation, filtering, merging, comparison and conversion in a sensible order, and learn when a reusable pipeline is better than isolated tools.
Understand how to define a reliable duplicate key, distinguish exact and business duplicates, and validate a CSV before and after deduplication.
Learn how tabular data is structured, how CSV, Excel, JSON and TSV differ, and how to choose the right format before cleaning, converting or automating a workflow.