Back to tools

CSV Compare

Diff two CSV files side-by-side. Normalize mode re-quotes cells so you only see real data changes. Good for data pipeline tests, database exports, and analytics comparisons.

0 chars
0 chars
Granularity

Diff result

+00=0

Paste content on both sides to see the diff.

How It Works

  1. 1

    Paste both CSVs

    Original on the left, changed on the right.

  2. 2

    Toggle Normalize

    Re-emit both files with consistent quoting before diffing.

  3. 3

    Review the diff

    Added rows in green, removed rows in red.

  4. 4

    Copy or download

    Export as unified diff for a PR or share with your team.

Use Cases

  • Data pipeline test

    Diff expected vs actual CSV output from an ETL job to find where the pipeline diverged.

  • Database export comparison

    Compare two CSV exports from the same query at different times to track data changes.

  • Analytics export drift

    Diff two GA, Mixpanel, or Amplitude exports to spot reporting changes.

  • Test fixture review

    Diff CSV test fixtures across branches before merging to catch unintended fixture changes.

Frequently Asked Questions

It diffs two CSV files side-by-side, with optional normalization that re-quotes cells consistently so you only see real differences in the data. Not quoting or line-ending noise.
Two CSV files can be semantically identical but visually different (some cells quoted, some not; CRLF vs LF; trailing newline differences). Normalize parses both sides as CSV and re-emits them with consistent quoting so the diff only flags real cell-level changes.
Yes. The CSV parser handles RFC 4180 quoting. Escaped quotes (`""`), commas inside quoted cells, and newlines inside quoted cells are all supported.
Yes. Anything CSV. Compare two exports from the same query at different times to spot what changed, or compare expected vs actual output from a data pipeline test.
No. Parsing and diffing happen entirely in your browser. Safe for PII, customer data, or any CSV you do not want leaving your machine.
Yes. Copy as a unified diff or download as a .patch file.
No. Row order is preserved as a diff signal. Re-ordered rows show as moves. If you want a sort-insensitive diff, pre-sort both files in a spreadsheet first.
The normalizer assumes comma-separated values. For TSV or semicolon-separated files, turn Normalize off and run a plain text diff, or convert your files to comma-separated first.

Diffing test data by hand? Automate the whole test.

Bug0 writes end-to-end tests from plain English, runs them on every deploy, and a forward-deployed engineer reviews every failure.

From $2,500/mo. Results in 7 days.

Go on vacation. Bug0 never sleeps. - Your AI QA engineer runs 24/7

Go on vacation.
Bug0 never sleeps.

Your AI QA engineer runs 24/7 — on every commit, every deploy, every schedule. Full coverage while you're off the grid.