Top Banner ad placeholder

Text Diff Checker

Compare two inputs like git diff and list additions, removals, and changes. Supports text, JSON, Array, Parentheses, HTML Table, JS / TS / PHP / Python / Go data formats, CSV, TSV, YAML, XML, Query String, and ENV.

Input

Plain line-by-line text comparison
Format JSON and sort keys before comparing
Array format with index-level data differences
Parentheses format with index-level data differences
Parse CSV and compare row differences
Parse TSV and compare row differences
HTML Table converted to data rows before comparing fields
JavaScript assignment literal with array index and field differences
JavaScript object parameter inside a function call with path / index differences
JavaScript nested structure breakpoint comparing an object changing to null
TypeScript file-style data extracted from const data before structural comparison
PHP array assignment parsed as data before comparison
Python list / dict assignment parsed as data before comparison
Go map slice parsed as data before comparison
Normalize simple YAML key/value input before comparing
Split XML tags into lines before comparing
Sort Query String parameters before comparing
Sort ENV keys before comparing values

Limits: up to 2,000,000 characters per side, output size 4.8 MB

Diff Output

Diff output will appear here

Format plain text / added 0 / removed 0 / changed 0 / unchanged 0 / 0 characters / 0 B

Processing Notes

  • All comparisons run locally in your browser.
  • Auto detects the shared comparable format from both inputs; structured mode shows path / index-level differences, while mixed formats fall back to plain text.
  • You can choose line / structured diff, context lines, and inline difference granularity.
In-content ad placeholder

What this tool does

Paste old and new content to compare line, structured, word, or character differences, output + / - diff results, and summarize added, removed, changed, and unchanged lines.

Supported formats

Supports line-by-line text diffing, JSON / Array / Parentheses structural comparison, HTML Table row comparison, JS / TS / PHP / Python / Go data format comparison, CSV / TSV row diffing after field parsing, and normalized YAML, XML, Query String, and ENV comparison.

Local browser processing

All comparison work runs in your browser. Input is not intentionally uploaded to a server.

How to use it

Paste the old content on the left and the new content on the right.

Choose an input format, or use Auto to detect Text, JSON, JS / TS / PHP / Python / Go data formats, CSV, TSV, HTML Table, YAML, XML, Query String, or ENV.

Adjust diff mode, context lines, inline diff level, whitespace handling, case sensitivity, JSON key sorting, and output style as needed.

Review additions, removals, and changes in the output panel, then copy or download the .diff file.

FAQ

Is the data uploaded to a server?

No. Diffing happens locally in your browser.

Is it exactly the same as git diff?

The output style is similar to git diff, with hunk headers, configurable context lines, side-by-side or unified output, and optional word or character inline highlights.

Will different JSON key order count as a change?

By default, JSON keys are sorted before comparison to avoid noisy field-order-only differences.

How does structured comparison work?

For JSON and supported data literals, the tool compares values by path and index. When structures differ, it stops at the changed parent path to avoid noisy nested output.

Can I download the result?

Yes. The output panel includes copy and download buttons, and the download filename can be customized.