
A CSV diff checker compares two CSV files and reports which rows were added, which were removed, and which changed, down to the individual cell. Instead of a line-by-line text diff that goes red the moment a single column shifts, it parses both files into rows and columns and compares them as structured data. You paste the old file on the left, the new file on the right, and get four buckets back: added, removed, changed, and unchanged.
The important choice is how rows are paired across the two files. Match by a key column, such as an id or email, and each row is compared to the row that shares its key regardless of where it moved in the file, so re-sorting the export does not create thousands of false changes. Match by position instead, and row one is compared to row one. Key matching is the right mode for database and spreadsheet exports, where the same record can appear on a different line each time you pull the data; positional matching suits fixed-order files like a numbered log.
Everything runs in your browser using an RFC 4180 parser that understands quoted fields, escaped quotes, and commas inside values. The files never leave your device, are never uploaded, and are never logged, which matters because the CSVs people diff are usually customer lists, transaction exports, or inventory tables. Nothing is stored, so the tool keeps working with your network disconnected.
Key-column matching is what makes a CSV diff useful rather than positional, since a row inserted near the top shifts everything below it and a positional comparison reports the whole file as changed. It depends on the key being unique, which is why duplicate keys are flagged rather than silently matched to whichever row came first.
Put the original CSV in the first field and the changed CSV in the second. Load the sample if you want to see how added, removed, and changed rows are reported.
The delimiter is auto-detected as comma, semicolon, tab, or pipe. Leave "first row is a header" on if your files start with column names.
Pick a key column, such as id or email, to compare records wherever they moved, or select Position to compare row by row. Toggle case-insensitive matching if capitalisation should not count as a change.
Press Compare. Open the Added, Removed, or Changed tab to inspect the rows, expand a changed row to see the exact cells that differ, then copy or download the full report.
A changed row does not just flag as different. It lists exactly which columns changed and shows the old value beside the new one, so you can see that only the plan field moved from free to pro.
Pair rows by an id, email, or SKU so a record is compared to its counterpart no matter where it sits in either file. Re-sorted exports diff cleanly instead of reporting every row as changed.
The parser handles quoted fields, escaped double quotes, embedded commas, and newlines inside cells, so real spreadsheet exports compare correctly rather than splitting on the wrong character.
If a key value appears twice, or the two files have different headers, the tool warns you rather than silently producing a misleading diff.
Compare two JSON documents structurally and see added, removed, and changed keys with exact paths
Compare two lists to find common items, items unique to each list, and duplicates within a list. Case-insensitive matching, any delimiter, instant set operations. 100% client-side.
Compare two XML documents structurally and see which elements, attributes, and text values were added, removed, or changed, by node path rather than by line. 100% client-side.
Open, search, and sort CSV files as a clean table in your browser. Auto-detects delimiters, handles quoted fields, and exports to CSV or JSON.
0 comments
No comments yet. Be the first to share your thoughts!