Gearyforgemore tools

Did the file come back unaltered?

You sent a spreadsheet out and got one back. Put them side by side and see every cell that is not the same as when it left.

What this catches

  • Rows that were added while the file was out
  • Rows that were quietly removed
  • Individual cells that were edited, old value beside new
  • Duplicated records introduced by a merge

You will be asked which column identifies a row. Whichever column is the record’s reference or ID.

1 Load the two filesCSV or XLSX, one each side

File A · original

Drop a CSV or XLSX file here, or click to browse

File B · updated

Drop a CSV or XLSX file here, or click to browse

All file data is read entirely within this browser tab. Nothing is uploaded to any server. Closing this tab discards all loaded data. Exports are unlocked by a one-time purchase through Stripe, our payment processor; that happens in a separate tab and never involves your file data. If you unlock exports, a licence token is kept in this browser's local storage; nothing else is stored.

How it works

  1. Keep the copy of the file as you sent it.
  2. Load the original on the left and the returned file on the right.
  3. Pick the column that identifies a record — a reference, code or ID.
  4. Anything that is not in the matched count was changed, added or removed while the file was out.

Every row lands in one of five categories

The comparison does not produce a list of differences; it sorts every record on both sides into exactly one of these, using the column you picked as the key. The counts add up to the rows you loaded, so nothing is silently dropped.

Matched
The key appears on both sides and every compared cell is identical. These are the rows you do not have to look at, and on a healthy comparison they are nearly all of them - which is the point, because the job is finding the handful that are not.
Changed
The key appears on both sides but at least one cell differs. Each differing cell is shown with its previous value beside the new one, so the question is never "something moved" but "this figure was 1,240 and is now 1,420".
Added
The key is on the right-hand side only. Usually a genuinely new record, but it is also what a re-keyed identifier looks like: change a reference and the same row leaves as removed and returns as added, which is worth checking before treating a large added count as growth.
Removed
The key is on the left-hand side only. A record that was there last period and is not there now - a leaver, a cancelled line, a row dropped by a filter that was left switched on when the export ran.
Duplicate
The same key appears more than once on one side. This is reported separately rather than folded into the others because a duplicated key makes the comparison ambiguous: there is no single row to compare against, so totals built on that key are unreliable until it is resolved.

Choosing the key column is the one judgement the tool cannot make for you. Pick a column that identifies a record and does not change between the two files - a reference, a code, an ID. Pick something that varies, such as a name or a date, and rows that are really the same record will be reported as one removed and one added.

Questions

How do I check whether a spreadsheet was modified?
Load the version you sent and the version you received, then pick the column that identifies a row. Every row is sorted into matched, changed, added, removed or duplicate, and each changed cell is shown with its previous value.
Does this verify the file itself, like a checksum?
No. A checksum tells you that something changed; this tells you what changed. It compares the data row by row and cell by cell, which is what you need when the file was legitimately edited and you want to see the edits.
What if rows were re-ordered?
Row order does not matter. Records are matched on the column you choose as the identifier, so a re-sorted file still matches cleanly.
Is my file uploaded anywhere?
No. Both files are read and compared inside this browser tab. Nothing is sent to a server, there is no account, and closing the tab discards everything.
What file formats does it accept?
CSV and XLSX. Both sides can be different formats — a CSV against an XLSX works.
How large a file can it handle?
It has been measured on 100,000 rows a side. Large files take a few seconds to parse, and the comparison itself runs in well under a second.
Can I export the differences?
Comparing and reading the result on screen is free. Downloading it as CSV or XLSX is a one-time unlock, and the price is shown beneath the export buttons once you have a result.