How Redline compares two spreadsheets
Most tools that claim to diff a spreadsheet are text diffs wearing a costume. They
flatten each sheet into lines and compare the lines, so the moment row 40 moves to
row 41, both rows light up as changed even though not one character in them is
different. Sort your export a different way and the whole file reads as rewritten.
Redline treats the problem as two-dimensional, because a spreadsheet is. It matches
columns first, by header name, so a field inserted upstream shifts nothing after it.
Then it fingerprints every row by its contents and aligns the two sheets with a Myers
longest-common-subsequence pass, the same family of algorithm behind
git diff, run over rows instead of characters. A row's identity is what
it says, not where it sits, so a reorder is recognized as a reorder. Only once two
rows are established as the same row at two points in time does it compare their
cells, and only the cells that actually differ get marked.
What comes back is the grid you already know: added rows in green, removed rows struck
through in red, and each changed cell showing its old value beside the new one. The
tally across the top counts rows added, removed, changed and moved, and the cells that
really differ. You can download that view as a CSV in which a changed cell reads
200 -> 250.
Questions
- How do I compare two Excel files and highlight the differences?
-
Drop the older file on Before and the newer one on After. Redline reads both, lines
them up, and highlights every changed cell in place on the grid. There is nothing to
install and no account. If a workbook holds several sheets, a menu appears under the
file so you can pick which sheet to compare.
- Is there a CSV diff tool that works online?
-
This is one, with a caveat worth stating plainly: "online" here means the page is on
the web, not that your data is. The comparison runs inside your tab as WebAssembly.
Once the page has loaded, no request carries your file anywhere, and you can watch
the network tab of your browser's dev tools stay silent to confirm it.
- How do I compare two spreadsheets for differences without uploading them?
-
Use a tool that has no server to upload to. Redline's diff engine is Go compiled to
WebAssembly and ships with the page itself, so the file you drop is read by your own
browser and never sent. That is the difference between a privacy policy and a
privacy guarantee, and it matters when the sheet holds salary figures, customer
records, or anything else you are not allowed to paste into a website.
- Why does a normal text diff mark every row as changed?
-
Because it compares line 1 against line 1, line 2 against line 2, and so on. Insert
a single row at the top and every line below it shifts by one, so every line now
differs from the line it is being compared against. Aligning rows by content instead
of position is the fix, and it is the reason this tool exists.
- What does it read, and how big can the files be?
-
Files ending .csv, .xlsx and .xls, up to 100MB each. A 50,000-row comparison takes a
few seconds. Past 5,000 rows the grid draws the first 5,000 and offers a button for
the rest, which keeps the tab responsive on a large sheet.
View the source on GitHub