CSV Compare

CSV Compare CSV diff by key column compare spreadsheet exports find changed CSV records
CSV Compare

Compare two exports

Choose the original and updated CSV files, then select Load columns. Choose row order or a shared unique key, select the columns that matter, and compare. The summary counts affected rows. Download the CSV difference report for a complete list of changed cells, added records and removed records.

Advertisement

Use a key when rows can move

Row-order matching compares the first data row with the first data row, then the second with the second. An inserted row can therefore make many later rows appear changed. Key matching instead pairs exact values from a shared column, such as a product code. Reordering rows alone produces no differences when the key and compared values remain the same.

Worked example: inventory changes

Suppose the original export contains product A with quantity 5 and product B with quantity 8. The updated export contains A with quantity 7 and a new product C with quantity 2. Match by product code and compare quantity. The summary reports one changed row, one removed row and one added row. A’s cell record shows 5 before and 7 after; B is removed and C is added.

What the report contains

Each report row names a status, row key, column, before value and after value. Presence flags distinguish a missing column or missing row from a present empty cell. Added and removed rows produce records for every selected column. Unchanged rows are counted in the summary but omitted from the difference file.

The visual table shows fifty field differences per page, with sticky headers and horizontal and vertical scrolling inside the table. Filter by change type or search keys, fields and values. Missing values and empty strings have separate labels. Filters affect only the table: the download contains all differences within the stated limit. Expand Raw CSV preview to inspect up to one hundred records.

Headers and exact comparisons

Each input needs a header and at least one data row. Header names must be unique and nonempty, and every row must contain the same number of fields as its header. Quoted commas, quoted newlines and escaped quotes are parsed as CSV fields. Values remain strings: 007 differs from 7, and extra spaces or different capitalization count as changes. Blank lines are skipped.

Selected columns can exist in only one file, allowing schema changes to appear in the report. A key must exist in both files and must be nonempty and unique within each one. Duplicate keys stop the comparison rather than pairing records arbitrarily. Composite keys are not constructed automatically.

Limitations and spreadsheet safety

Each UTF-8 input is limited to five megabytes, fifty thousand data rows and two hundred columns. Comparisons stop above one hundred thousand difference records. Processing stays in this browser. Changing either file or the delimiter requires loading columns again; changing matching options clears the old output.

Exported fields that could start spreadsheet formulas receive a leading apostrophe. This helps prevent formula execution when opening the report in a spreadsheet, but it means the report is an inspection artifact rather than a byte-identical replacement dataset.

CSV comparison FAQ

Can I compare Excel workbooks?

Export the relevant sheets as UTF-8 CSV first. Workbook formulas, formatting and multiple sheets are not CSV data.

Why does a reordered file look different?

Select a unique key instead of row order when sorting can change between exports.

Related tools

Categories

Tags