Home › Developer Tools › CSV Diff Checker

CSV Diff Checker

Compare an old and a new version of a CSV file. Rows are matched by a key column such as an ID or email, so you see exactly which rows were added, which were removed and which cells changed, even when the rows are in a different order.

Last updated:

Both files are compared in your browser and never uploaded.

added rowremoved rowchanged rowold value → new value

Advertisement
Advertisement

How to use the CSV Diff Checker

  1. Add the original CSV on the left and the changed CSV on the right (open the files or paste the data).
  2. Check the key column: a unique column such as id or email is picked automatically. Choose another one, or Row position for files without an ID.
  3. Set the comparison rules: ignore case, spaces or number formatting, or exclude a column such as a timestamp.
  4. Review the differences: the counters summarise the changes and the table highlights every changed cell.
  5. Download the diff CSV or the cell-change log to share or archive the result.

How rows are matched

SituationMatch by key columnMatch by row position
A row was inserted in the middleReported as 1 added rowEvery following row looks changed
The file was re-sortedNo differences (rows are found by key)Most rows look changed
Files have no ID columnUse another unique column (email, SKU)Works well if order is stable
A value in an existing row changed1 changed row, changed cell highlighted1 changed row, changed cell highlighted

Reading the result

  • Added (green): the key exists only in the changed file.
  • Removed (red, struck through): the key exists only in the original file.
  • Changed (yellow): the key exists in both files but at least one compared cell differs; the old value is crossed out and the new value is shown next to it. The small badge on a column header counts the changed cells in that column.
  • Column headers in dark green exist only in the changed file; dark red ones only in the original. Their values are shown but not counted as cell changes.

Comparing JSON instead? Use JSON Compare. To check two plain text files line by line, use Text Compare.

Frequently asked questions

How do I compare two CSV files?

Open or paste the original file on the left and the new file on the right. The comparison runs immediately: added rows are green, removed rows are red, and changed cells show the old value crossed out next to the new value.

What is a key column and why does it matter?

A key column uniquely identifies each record, such as an ID, SKU or email address. Matching by key means a row is compared with the row that has the same key in the other file, so sorting differences or inserted rows don't cause false changes. Without a key, rows are matched by position.

Does the column order have to be the same?

No. Columns are matched by their header names, so files with reordered columns compare correctly. Columns that exist in only one file are shown and counted as new or dropped columns.

Can I ignore small differences like capital letters or trailing spaces?

Yes. Tick Ignore upper/lower case, Ignore spaces at the ends, or Treat equal numbers as equal (so 5, 5.0 and 5.00 match). You can also exclude one column, such as last_updated, from the comparison.

What does the exported diff CSV contain?

One row per added, removed or changed record, with a change column, all values (new values, or old ones for removed rows), a list of the changed columns and the previous values of every changed column. The cell-changes export lists each changed cell as key, column, old value and new value.

What if my key column has duplicate values?

Repeated keys are paired in the order they appear and a warning is shown. For exact results choose a column whose values are unique in both files.

Are my files uploaded?

No. Both CSV files are read and compared locally in your browser; nothing is sent to a server.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

JSON CompareCompare two JSON documents and see every added, removed and changed path.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.CSV Duplicate Row RemoverRemove duplicate rows from a CSV by all or selected columns and download the cleaned file.CSV MergerCombine many CSV files into one, matching columns by name, with dedupe and a source column.Bank Reconciliation ToolMatch book and bank transactions, list outstanding checks and deposits, reconcile the balance.Text Similarity CheckerCompare two texts for similarity with cosine, Jaccard and Levenshtein scores and shared phrases.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.CSV to JSONConvert CSV data to JSON with live preview.Excel to CSVConvert XLSX spreadsheets to CSV.Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.JSON to Kotlin Data ClassTurn JSON into Kotlin data classes for kotlinx.serialization, Gson, Moshi or Jackson.JSON to Markdown TableTurn a JSON array of objects into a GitHub Markdown table with column picker and alignment.JSON to PHP ArrayConvert JSON to PHP array code (short [] or array()) and PHP arrays back to JSON.JSON to Rust StructTurn JSON into Rust structs with serde derives, rename attributes, Option and Vec types.JSON to SQL ConverterConvert a JSON array of objects to CREATE TABLE and INSERT statements for MySQL, Postgres, SQLite.JSON to Swift StructTurn JSON into Swift Codable structs with CodingKeys, optionals and nested types.JSON to TOML ConverterConvert JSON to clean TOML with tables, arrays of tables, inline tables and dates.JSONL to JSON ConverterConvert JSON Lines / NDJSON to a JSON array and back, with line-level error reports.Properties to YAML ConverterConvert Java .properties to nested YAML (application.yml) and YAML back to properties.PX to EM ConverterConvert pixels to em using the parent font size, and em back to px, with conversion tables.Query String to JSONConvert URL query strings to JSON with nested brackets and arrays, and JSON back to a query string.REM to PX ConverterConvert CSS rem values to pixels for any root font size, with a quick 0.25–6rem table.SQL to JSON ConverterConvert SQL INSERT statements and dumps into a JSON array of row objects, with CSV export.TSV to CSV ConverterConvert TSV to CSV and back, or between tab, comma, semicolon and pipe, with correct quoting.TypeScript to JavaScriptConvert TypeScript or TSX to clean JavaScript instantly: strip types, keep or compile JSX.XML to YAML ConverterConvert XML to clean YAML with attributes, text nodes, lists and exact error lines.YAML to XML ConverterConvert YAML to pretty, well-formed XML with custom root, attributes and array item tags.Boolean Algebra SimplifierSimplify boolean expressions or minterm lists to minimal SOP and POS with Quine-McCluskey steps.Compare Excel FilesCompare two Excel spreadsheets cell by cell, highlight changes and export a diff report.CSV CleanerClean messy CSV in one click: trim spaces, drop empty rows and columns, fix headers, dedupe.CSV VLOOKUP ToolJoin two CSV or Excel files on a key column like VLOOKUP, with left, inner and full joins.Remove Duplicates in ExcelFind and remove or highlight duplicate rows in XLSX or CSV files by the columns you choose.GeoJSON ViewerView GeoJSON on a map, inspect and edit properties, validate against RFC 7946 and export.GPX ViewerOpen GPX tracks on a map with distance, elevation profile, moving time, speed and splits.JSON Repair ToolFix broken JSON automatically: trailing commas, quotes, comments, truncated data, with a diff.Karnaugh Map SolverSolve 2–6 variable K-maps: click cells or enter minterms to get the minimal SOP or POS with groups.Merge Excel FilesCombine XLSX, XLS and CSV files into one workbook or append all rows into a single sheet.Parquet File ViewerOpen Apache Parquet files in your browser: schema, rows, filters and CSV or JSON export.Query CSV with SQLRun SQL on CSV, Excel, JSON and Parquet files in your browser with DuckDB. Join and export.Online Serial MonitorTalk to Arduino, ESP32 and USB serial devices in your browser: log, send, plot and save.
See all 129 Data & File Format Converters →