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
Limits: up to 2,000,000 characters per side, output size 4.8 MB
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.
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.