Diff Checker
Compare two texts β split and unified view with character-level highlighting
About this tool
The Diff Checker compares two blocks of text line-by-line, with both a side-by-side Split view and a git-style Unified view, plus character-level highlighting inside changed lines so you can see exactly which characters differ, not just which lines. It handles any plain text β code, config files, JSON, prose, or data. Two toggles handle the noisy differences that usually aren't the ones you actually care about: Ignore whitespace treats lines that differ only in spacing as unchanged, and Ignore case does the same for lines that differ only in letter casing β both let the real content changes stand out instead of getting buried under formatting noise.
When to use it
- βComparing two versions of a config file to spot unintended changes
- βReviewing API response changes between environments (staging vs production)
- βChecking what changed between two drafts of a document
- βValidating data migrations by comparing before and after snapshots
- βComparing re-formatted code (different indentation/casing) to confirm the actual logic didn't change
Tips
- βPaste minified JSON into the JSON Formatter first to make the diff more readable.
- βSwitch to Split view to compare side-by-side, or Unified view for a compact git-diff-style stream with +/- prefixes.
- βTurn on Ignore whitespace when comparing code that's been reformatted or re-indented but you only care about logic changes.
- βTurn on Ignore case when comparing content where capitalization is inconsistent but not meaningful, like casually-typed config values.
Frequently asked questions
What's the difference between Split and Unified view?
Split view shows the original and modified text in two side-by-side columns, aligned line by line β good for visually scanning a document. Unified view shows a single git-diff-style stream with - and + prefixes and no separate columns β good for compact, copy-pasteable output.
Does 'Ignore whitespace' also ignore blank lines?
It ignores whitespace differences within and around a line's content (extra spaces, tabs, trailing spaces) β a completely blank line is still compared as a blank line. It won't hide the fact that a blank line was added or removed entirely.
Why do I see false differences caused by line endings?
Windows uses CRLF (\r\n) line endings while Unix/macOS use LF (\n). If one version came from Windows and the other from Unix, every line appears different even if the content is identical. The fix is to normalize line endings before comparing: in VS Code, click the CRLF indicator in the status bar to convert.
Can I compare binary files or images with this tool?
No. The diff checker is for plain text. Binary files (images, PDFs, compiled binaries) contain arbitrary bytes that render as mojibake or are completely invisible when treated as text. For binary comparison you need specialized tools like file hash comparison or binary diff utilities.