Compare two exports and see every change

Rows are matched by a key column, so every added, removed and changed row shows, cell by cell. Free in your browser for CSV; the Calamo Pro app opens Excel and files of several GB. Nothing is uploaded.

Compare two CSV files free Download free trial The video is Calamo Pro, recorded as it runs: $49 once after 14 days free · Windows, Linux and macOS (beta) · What's in Pro
Open two files, Calamo picks the key and compares; sort by price, jump to the next change with F8, switch to added rows.

Try it now: compare two CSV files by key

Drop the old and the new export and see every row that was added, removed or changed. The rows can be in any order. Your files are never uploaded.

Sample result. Drop your own two files to compare them.

Try it with sample data: ·

The 1.2-million-row sample is more than an Excel sheet can hold (1,048,576 rows). The free tool works best up to a few hundred MB per file, depending on your browser's memory. For bigger files and Excel, there is Calamo Pro.

One inserted row breaks a cell-by-cell compare

The new export has one extra customer near the top and one changed price. Compared cell by cell, as with =A1<>Old!A1 in Excel, every row below the insert looks different. Matched by key, it is one added row and one changed cell.

Cell by cell3 of 4 rows flagged
ABC
21001Acme10
31005Delta50
41002Brill25
51003Corvo30
By key (Calamo)1 added, 1 changed
idnameprice
1001Acme10
+1005Delta50
~1002Brill20 25
1003Corvo30

Excel can match by key too, with XLOOKUP or Power Query: see how to compare two Excel sheets. It just takes a formula per column and stops at 1,048,576 rows.

1.2 million rows in about 3 seconds

Measured on my desktop with two generated customer exports. Your computer will be slower or faster, so run the same test here. Both files are generated in your browser first; on a phone it uses 300,000 rows.

old file   1,200,000 rows · 72.9 MB
new file   1,216,429 rows · 74.1 MB
key        customer_id
result     +28,800  −12,371  ~20,496
time       2.8 s · Chrome · Ryzen 9 9900X

your run   not run yet

How it decides what changed

Rows are paired by the key column and cells by column name. You can switch off the spaces, letter case and number rules under “Treat as equal”.

All the rules and how the rows are paired

Old fileNew fileCalamo
1001, 10021002, 1001No change. Row order does not matter.
key 00123key 123Two different IDs: one removed, one added. Leading zeros are kept.
19.90, 1,519.9, 1.5No change. Same number in a different format.
DeltaDELTAChanged. Letter case counts unless you switch it off.

Calamo Pro: compare, browse and edit files too big for Excel

A desktop app for Excel workbooks and files of several GB. For Windows, Linux and macOS. See everything in Pro.

  • Excel and CSV, also an Excel sheet against a CSV export, a header below a title
  • Big files: two 4 GB exports with 64 million rows compared in 53 s*
  • Browse one file: search, filter, sort and profile 64 million rows
  • Edit a file like a spreadsheet, with undo; saved in its own delimiter and encoding
  • A marked copy of the new file and a report with fingerprints for sign-off

$49 once · for one person, up to 3 computers · 30-day refund, no questions asked. Terms

Documentation · Free vs Pro · *measured on one desktop, details in the docs

Why I made it

I’m Michal Piják, a data engineer in Bratislava. A big part of my job is migrations, and the last step is always the same: export the data from the old system and the new one and find what doesn’t match. Excel stops at a million rows, and I don’t want to paste company data into a chatbot. So I wrote this.

Before each release the results are checked against 19 test cases with known answers: row and column order, leading zeros, spaces, number formats, duplicates, encodings. If it still gets one of your files wrong, send me a note at hello@calamo.io.

Michal Piják
Michal PijákData engineer, Bratislava

Questions

Are my files uploaded?

No. The page reads them with JavaScript in your browser. You can disconnect from the internet after it loads and it still works.

What is a key column?

The column that identifies a row: a customer ID, SKU, email or invoice number. If no single column is unique, pick two and Calamo combines them.

How big can the files be?

A few hundred MB per file, depending on your computer’s memory. The test above shows how fast it is on yours.

Can it compare Excel files?

Not yet. Save each sheet as CSV first (how), or see other ways to compare two Excel sheets.

What does it cost?

The browser tool is free and needs no account. Calamo Pro, the desktop app and command line, is $49 once after a 14-day free trial.

All questions

Drop two files and see what changed

Free, in your browser, nothing uploaded.

Compare files