Compare tables
Match records by their identifying columns. Find what was added, removed, or changed between two CSV datasets.
Your tables stay in this browser. Nothing is uploaded. Privacy details
1 Load two tables
Use an earlier export as Original and a later export as Updated. CSV must have a header row. IDs keep their leading zeroes.
Original table
No table loaded.
Updated table
No table loaded.
2 Match columns & identify records
Match the columns you want to compare, then select the identifying columns, such as an ID or email. Multiple identifying values must all match. Each record must have a unique, non-blank key.
3 Review changes
JSON includes counts, column mappings, ignored columns, full added and removed records, and changed records with before/after cells. CSV, plain text and Markdown list each added or removed cell and each changed cell. Copy uses the selected report format. CSV prefixes formula-like values with an apostrophe for spreadsheet safety; JSON preserves exact values. Unchanged records are counted but not included.
View formatted output
Preview limited to 30,000 characters. Copy and download include the complete output.
Compare records, not lines
Export two versions of a table as CSV. Load them, review the column matches, then select an ID or a combination such as customer ID and order ID. Compare tables reports records only in Updated as added, records only in Original as removed, and matched records with different values as changed.
Columns with the same trimmed header match automatically, even if reordered. You can map renamed columns or ignore columns you do not want compared. Unmatched columns are listed explicitly. Blank or duplicate headers receive unique names; check the loading warnings before selecting columns.
For prose or configuration edits, use Text diff. For shared items and list differences, use List comparison.
Privacy and limits
CSV inputs and reports remain in memory. Files are read only when selected. Download saves a report to your device. Clear all data removes inputs and results; reloading clears tool data. Only your theme preference is saved. See privacy and analytics.
Each table allows 5 MiB, 20,000 data rows, 100 columns and 500,000 cells including headers. Column names allow 1,000 characters. Reports have a 20 million character budget. Previews show 50 records per page, with cells shortened after 300 characters; downloads contain complete values. Large comparisons may briefly pause the page.
Comma-separated UTF-8 CSV supports quoted cells, escaped quotes and line breaks inside cells. Empty physical lines are skipped. Header-only tables are allowed. Uneven rows and ambiguous keys must be fixed before comparing. Values remain text: no numeric conversion, fuzzy matching or date interpretation. Record numbers count CSV records including the header, rather than physical lines.