Original CSV File A
or
Modified CSV File B
or
Result
How it works
- Paste or pick two CSV files (A = original, B = modified).
- Choose by row order to align line 1 with line 1, or by key column to match rows by a shared column such as an ID.
- Read the counts — added, removed, changed, unchanged — and inspect every changed row cell by cell below.
What it handles
- Quoted fields with commas, double quotes (
""escaping), and line breaks inside quotes. - Windows (CRLF), Mac (CR), and Unix (LF) line endings; blank lines are skipped and counted.
- Columns in a different order — matched by header name.
- BOM-prefixed files exported from Excel.
Limitations (read before you compare)
- Files up to 10 MB and 100,000 data rows each. Larger files are rejected with a clear message instead of being truncated.
- By-key mode needs a column that exists in both files. If a key value appears on multiple rows, rows are paired in order of appearance and extras are counted as added/removed — a warning tells you when this happens.
- Comparison is text-based:
3.50and3.5count as different. Numbers and dates are not normalised. - Both files must use the same field delimiter (comma). Semicolon- or tab-separated files are not supported yet.
- Malformed CSV (for example an unclosed quote) stops the comparison with the exact line number — rows are never silently dropped.
Privacy
Everything runs locally in your browser with plain JavaScript. Your CSV files are never uploaded, never leave your device, and nothing you paste or pick is logged or stored. You can disconnect from the internet after the page loads and it still works. File names you pick are only shown to you on this page and are not transmitted anywhere.