Private, local-first data tools

Compare Two CSV Files by Key

See what changed between two exports, even when rows or columns have been reordered. Match records by a stable ID and download additions, removals and cell-level changes.

Processed in your browserNo account requiredEncoding and delimiter controlsIncomplete exports are blocked

Files stay in your browser. Maximum 25 MB and 250,000 data records per file. A header row is required.

1. Load old and new CSV files

Old CSV

No file selected. Paste CSV below or choose a file.

New CSV

No file selected. Paste CSV below or choose a file.

What this tool does

Compare Two CSV Files by Key

The comparison matches records by one or more key columns, then checks each corresponding cell as text. It produces three reports: records added in the new file, records removed from the old file, and changed cells with old and new values. Row and column order do not create false differences.

How to use it

  1. Load the old and new CSV files, each with a header row.
  2. Select one or more columns that uniquely identify a record in both files.
  3. Compare and inspect the added, removed and changed-cell previews.
  4. Download any complete report as CSV.

Common tasks

  • Compare yesterday’s and today’s product exports using SKU.
  • Audit changed customer fields using a customer ID.
  • Use a composite key such as order ID and line number to compare order exports.

Privacy and local processing

Files and pasted text are processed on this device. The tool does not upload your data, change your original file, or fetch remote URLs. Download the result groups after reviewing the rules and preview.

Supported edge cases

  • Both files must have the same unique column names, although column order may differ.
  • Empty or duplicate keys block comparison. Add key columns or deduplicate the source first.
  • Matching is exact and case-sensitive. 00123 and 123 are different identifiers; whitespace is significant.
  • Header-only files are accepted for comparing empty datasets. A changed key appears as one removed record and one added record. Report key_1, key_2 and subsequent fields follow the key mapping displayed above the results.

Frequently asked questions

Does changing row order count as a difference?

No. Records are matched by their key values, not their position. Column order is also ignored when names match.

Can I compare using multiple key columns?

Yes. Select all columns needed to uniquely identify a record, such as product ID and warehouse.

Why does the tool reject duplicate keys?

There is no unambiguous one-to-one match when a key occurs more than once. Use a more specific composite key or remove duplicate records first.

Do empty reports still have headers?

Yes. Each download includes its header even if there are no additions, removals or changed cells.

Related CSV tools