Skip to main content

CSV Diff Checker

New

Compare two CSV files cell-by-cell, detecting added/removed rows and exactly which column values changed, with optional row matching by an ID column.

csvdiffcomparespreadsheetdata
Read the guide
Shortcuts:⌘ KSearch
Continue with:

Frequently Asked Questions

How is this different from the general Diff Checker tool?

The plain Diff Checker compares text line-by-line, which can produce confusing results for CSVs when a single inserted or deleted row shifts every line below it — this tool instead parses both files into rows and columns first, so it reports exactly which cell values changed rather than treating every shifted line as fully different.

What does "match rows by first column (ID)" actually change?

By default rows are compared by their position (row 1 vs row 1, row 2 vs row 2), which breaks down if a row was inserted or deleted in the middle — enabling ID-based matching instead compares rows using the value in the first column as a stable key, so insertions/deletions elsewhere don't cause every following row to look "changed."

What happens if the two CSVs have different headers?

A warning line is shown at the top of the diff listing both header rows side by side, and column comparison for the rest of the diff falls back to whichever header row has more columns.

Does this tool handle quoted CSV fields with embedded commas?

No — it uses simple comma-splitting for each row, so fields containing literal commas inside quotes aren't handled specially; for typical simple CSVs (no embedded commas) this works correctly, but heavily quoted/escaped CSV exports may need pre-processing first.

Is my data uploaded anywhere to compute the diff?

No — both CSVs are parsed and compared entirely in your browser using plain JavaScript; nothing is sent to a server.

Related Tools