Compare Two CSV Files by Key: Added, Removed and Changed Rows
Check the next order, product or database export against the previous one. Match by ID instead of row position, choose the fields to compare and download a before/after report. Try the worked order example without preparing files.
Other CSV tools
See the order-export comparison with synthetic data, or start with your own files. The example runs locally and replaces the inputs below.
1. Add the two exports
UTF-8 · header plus data rows · up to 5 MiB. Files are read in this browser, without uploading.
UTF-8 · header plus data rows · up to 5 MiB. Files are read in this browser, without uploading.
2. Review keys and fields
Earlier: 7 records · Later: 5 records. Check that the key identifies the same item in both exports before comparing.
Exact key matching is the default. Normalization affects matching only; raw keys and field values remain in the report. Any empty key component is unresolved. Duplicate keys in either table make all associated rows on both sides unresolved. Text IDs such as 0 and 001 stay distinct.
The rows moved. What actually changed?
Use this when a new order, product or database export arrives and you need to check it against the previous one. A line-by-line diff can treat moved rows as changes. Here, you choose the identifying key and the fields that matter. The example matches order_id even though the second file changes both row order and column order.
| Order ID | Earlier → later | Result |
|---|---|---|
00102 | Total 85.00 → 90.00 | 1 changed key |
00101 | Present → absent | 1 removed key |
00105 | Absent → present | 1 added key |
00103 and 0 | Same selected values | 2 unchanged keys |
00104 and blank | Duplicate or missing identity | 4 unresolved source records |
Two earlier rows share 00104, so they and their one later match remain unresolved. One earlier row also has no ID. These four source records are listed individually; they are not four changed orders. The literal ID 0 is valid.
Complete the task
- Load the before and after files. Select the correct separator for each source.
- Map a unique key and the fields to compare, including columns whose names or positions differ.
- Compare and download the complete report or a status-specific report. Review blank and duplicate keys before drawing conclusions.
Worked example
The worked order exports reorder both columns and rows. Order 00102 changes total from 85.00 to 90.00, 00101 is removed, 00105 is added and 00103 plus the literal ID 0 are unchanged. The two earlier 00104 records, their later match and a blank earlier key are four unresolved source records.
Method and limits
Comparison is based on the selected fields, not every cell automatically. Values compare as text: 12.50 differs from 12.5. Key normalization is optional and can create collisions. Ambiguous keys are never guessed or expanded into many-to-many rows. Combined inputs are limited to 20,000 records and 250,000 cells.
Only settings explicitly saved by you may persist. Input and results remain in page memory. Local file handling and privacy.