Two exports. One clear handoff.
CSV Change Report
See what changed between two exports of the same list. Match items by their existing IDs, even when rows move. Start with your files or try the example.
Local processing · No uploads · No account · Limited, privacy-conscious usage counts
1. Choose the older and newer files
Choose the older export under Before and the newer one under After. A CSV is a table saved as a text file.
Comma-separated UTF-8 files, with headers. Maximum 2 MiB, 10,000 rows, 100 columns and 200,000 cells per file. Headers must be at most 256 UTF-8 bytes; an 8 MiB combined report budget may require smaller comparisons.
Choose two CSV files or try the example.
2. Match the same records
Choose an existing ID column in both files. Each ID must identify the same item over time, appear only once per file and never be blank. Do not invent row numbers.
Case and leading zeros are preserved. An edited ID appears as one removal and one addition.
Help with missing or duplicate IDs (opens in a new tab). Keep this tab open to retain your selected files.
Your file selections are kept. For a Before or After error, correct and re-export the indicated file as comma-separated UTF-8 CSV, then replace only that file above. If no shared header exists, check both exports for the same exact stable-ID heading. If both files have problems, the Before error is shown first. A CSV record can span multiple text lines.
Help with CSV loading errors (opens in a new tab). Keep this tab open to retain your selections.
Your comparison
When columns are ignored, the changed-values CSV includes a Record type column: scope and column-list rows precede changed-value rows, even if no values changed. Added/removed-row CSVs keep their original columns. The HTML report works offline. Its footer links to this tool for anyone who wants to compare their own files.
Downloads contain your data. Review before sharing. Formula-like CSV cells receive a leading apostrophe for safer spreadsheet viewing; these are review files, not exact re-import copies. HTML preserves the displayed text and contains no scripts.
What changed between exports?
Review a weekly inventory, customer list or project-status export without manually lining up rows. Choose the same stable ID in both snapshots, then share a readable record of additions, removals and changed values.
A synthetic example
In the built-in example, ID 001 stays unchanged, ID 002 moves from Pending to Closed, ID 003 is removed and ID 004 is added. The second file has a different row and column order. Try it above without choosing any files.
Compare CSV exports without counting export timestamps.
Export timestamps can change on every row while only one inventory quantity changes. These synthetic snapshots use exact SKU strings, including leading zeros.
Before
SKU,Quantity,ExportedAt 001,8,2026-10-22 002,3,2026-10-22
After
SKU,Quantity,ExportedAt 002,5,2026-10-29 001,8,2026-10-29
With SKU selected and no exclusions, both records are changed. Ignore ExportedAt to get 1 changed record and 1 unchanged in compared columns: SKU 002 changes Quantity from 3 to 5. SKU 001 has no compared-value change; its timestamp still differs. The scoped changed-values CSV contains scope rows and one changed-value row for Quantity, not a timestamp difference.
The example selects ExportedAt for you. Choose Create change report, then Compare all columns to see the difference. Synthetic workflows are excluded from usage events. Ignoring is not redaction or proof that the complete rows are identical.
Limited usage measurement
Plausible counts pageviews, tool visits, real comparison starts, ready reports and download requests. Synthetic examples do not count as workflows. We send no file contents, filenames, headers, IDs, values, query strings or arbitrary properties. Page URLs are fixed; external referrals include only HTTP(S) protocol and hostname, without ports. No tracking cookies or app storage are used. Plausible receives ordinary connection information, including your IP address and browser information, for aggregate statistics. Download requests do not prove files were saved.
Before sharing a report
Reports contain your original values and IDs, which may include personal or confidential information. Review every download before sending it to anyone. Files are processed only in memory on your device; clear or refresh the page to discard working data. Downloaded copies remain on your device. Visiting this website still sends ordinary connection information to the hosting provider.
Know exactly what is compared
Values are compared as exact, case-sensitive strings. Spaces, accents, leading zeros and “1” versus “1.00” count as changes. There is no fuzzy matching, numeric rounding or hidden cleanup. Row and column order do not matter.
Added and removed columns are listed separately and count as changes for every matched row, including empty values. Missing columns are not treated as empty cells. Duplicate IDs or headers stop the comparison rather than guessing.
This tool is for reviewing exports, not financial reconciliation, compliance or proving that your source data is correct. Keep original files.