Productivity and Utilities

CSV Diff Tool

Paste two versions of a CSV and name the key column to see exactly what changed.

Your numbers

A column whose value is different in every row, such as an ID or email.

Result

Differences found

4

1 added, 1 removed and 2 changed rows (2 changed cells).

Rows added
1
Rows removed
1
Rows with changed cells
2
Changed cells
2
Rows unchanged
1
Columns compared
name, city, balance

Differences

ChangeKeyColumnBeforeAfter
Changed1balance120.00150.00
Changed3cityChicagoSeattle
Removed4
Added5
How this was calculated
  1. Rows are matched by the id column, not by position, so a moved row is not a change.
  2. A key only in the new CSV is added and a key only in the old CSV is removed. For keys in both, each shared column is compared cell by cell.
  3. Columns that exist in only one file are listed above and are not compared.
  • Everything runs in your browser and the data is not stored. Dates and numbers are compared as text, so 1.0 and 1 count as different.

Calculated using SumPanda.com · https://sumpanda.com/csv-diff-tool/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the csv diff tool

  1. Paste the old CSV and the new CSV, each with a header row.
  2. Type the key column, the name of a column whose value is different in every row, such as an ID, an email address or a SKU.
  3. Choose whether to ignore spaces at the ends of cells and differences in capital letters.
  4. Read the counts and the table of differences: rows added, rows removed, and each changed cell with its before and after value.

Formula

Added = a key in the new CSV that is not in the old one

Removed = a key in the old CSV that is not in the new one

Changed cell = a column in both files whose value differs for a key in both

Unchanged row = a key in both files where every shared column matches

Rows are matched by key and not by position, so reordering rows is not a change. If a key repeats, only its first row is compared and the repeats are counted.

Two versions of a customer list

The old file has ids 1 to 4 and the new file has ids 1, 2, 3 and 5. Matching on id, row 4 (Dee Moss) is removed and row 5 (Eli Roy) is added. Among the rows in both files, id 1 has a balance that changed from 120.00 to 150.00 and id 3 has a city that changed from Chicago to Seattle. Row 2 is unchanged.

That makes 1 row added, 1 removed and 2 changed rows with 2 changed cells, so 4 differences in all, and 1 row unchanged. Columns compared are name, city and balance. A column that exists in only one file is listed separately and is not compared.

Why compare by key

A line-by-line text compare treats a re-sorted export as if every row changed. A key-based compare answers the question people really have: which records were added, which were removed and which values changed. It is the right tool for two exports of the same list taken on different days.

For plain text, use the Diff Checker, and to compare two lists of items without columns, try Compare Two Lists. If you need to combine the two files instead of comparing them, use the CSV Join Tool.

Getting reliable results

The key must be unique in each file. If a key appears twice, the tool compares only the first row and reports how many repeats it ignored. Dates and numbers are compared as text, so 1.0 and 1 count as a change, and so do 2026-01-05 and 01/05/2026. Make both files use the same format before you compare.

Turn on ignoring spaces and capital letters when the two files come from different systems that format text differently. Only the shared columns are compared, which lets you check an old export against a new one that gained a column.

Assumptions and limits

  • Both files have a header row with unique column names, and the key column exists in both.
  • Matching of column names ignores capital letters, but cell values are compared exactly unless you choose otherwise.
  • Up to 100,000 rows per file are read, and the table shows the first 500 differences.
  • Nothing is uploaded or stored.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What should I use as the key?

Use a column that identifies a record and never repeats, such as an order number, an email address or an employee id. A name is risky since two people can share one.

Why does a number show as changed when it looks the same?

Cells are compared as text. A value of 1.0 is different text from 1, and so is 1,000 from 1000. Make both files use the same format, or turn on the options to ignore spaces and letter case.

What if the files have different columns?

Only columns that appear in both files are compared. The columns that appear in one file only are listed in the summary so you know they were left out.

Can I download the differences?

Yes. Use the CSV button to save every difference, including those beyond the first 500 rows shown on the page.