CSV Diff Viewer
Compare two CSV files and highlight row and cell differences
About the CSV Diff Viewer
Data changes silently. A CSV export from last week and one from today look identical at a glance but differ in a dozen cells buried in row 847. Spotting those differences manually — scrolling two spreadsheets side by side, comparing cell by cell — is tedious and error-prone. The CSV Diff Viewer does the comparison automatically, rendering a color-coded table that shows exactly which rows were added, which were removed, and which cells changed value.
Data analysts run it before and after a data pipeline job to verify that only the expected records changed. Engineers compare the before-and-after of a database migration export to confirm referential integrity was preserved. Product managers diff two versions of a pricing CSV to audit what a vendor changed between submission rounds. The visual grid format — green for added, red for removed, yellow for modified cells — makes the change surface immediately scannable without reading line by line.
The tool uses PapaParse to parse both CSVs, then aligns rows by index and compares column by column. When the first row looks like a header (non-numeric values), it is used to label the table columns. The summary line at the top of the result shows the count of added, removed, and modified rows so you know the scope of changes at a glance before inspecting individual cells.
How to Use the CSV Diff Viewer
- Paste the original CSV into the left "Original CSV" textarea and the modified CSV into the right "Modified CSV" textarea.
- Click "Compare" to run the diff.
- Read the summary line: how many rows were added, removed, or modified.
- Scroll the result table to inspect individual rows. Green rows are new, red rows were deleted, and yellow-highlighted cells within a row changed value — the old value is shown in strikethrough red, the new value in green.
Why Use ToolForge’s CSV Diff Viewer
- Visual color coding — green for added, red for removed, yellow for modified cells — lets you scan a diff result in seconds rather than reading it line by line.
- Shows old and new cell values side by side within a modified row (strikethrough old → new), so you see both values without needing separate original and modified views.
- Uses PapaParse for robust CSV parsing — handles quoted commas, escaped quotes, and varying line endings that simple split-on-comma approaches miss.
- Completely browser-side — production database exports, financial CSVs, and client data stay on your machine.
Frequently Asked Questions
How does the tool match rows between the two CSVs?
Rows are matched by their position (index) in the file. Row 1 in the original is compared to row 1 in the modified file. This means if a row was inserted at the top, all subsequent rows will appear as "modified" even if their content did not change. For key-based diffing (matching rows by an ID column), a post-comparison manual review may still be needed for insertions at arbitrary positions.
Does the tool require my CSVs to have the same columns?
No, but the column count in the result table is determined by the widest row. If the two CSVs have different numbers of columns, the extra cells in the narrower CSV appear as empty. The header row (if present) is taken from the first CSV.
Can I compare CSV files with thousands of rows?
Yes — PapaParse processes the CSV locally in your browser, and JavaScript can handle large files quickly. The result table renders all rows, so very large diffs will scroll. There is no server-side size limit because no data is uploaded.
Is my CSV data sent to a server?
No. Both CSVs are parsed locally using PapaParse running in your browser. Nothing is transmitted to any server, making the tool safe for financial records, client data, and any other sensitive spreadsheet content.
