Diff Checker
Compare two texts side by side and see exactly what changed — entirely in your browser. Your text never leaves the page.
- Runs in your browser
- No upload, no tracking
- Free forever
How it works
A diff checker compares two pieces of text and highlights exactly what was added, removed or left unchanged between them — line by line, character by character, or as a structural JSON diff. It is the fastest way to spot differences between two config files, query outputs or documents. This tool runs entirely client-side and is built by JusDB, a managed database operations team, for the everyday comparison work around schemas and configs.
- 1
Add both versions
Paste your original text on the left and the modified text on the right, or use Upload file to load a .txt, .json, .md, .csv or .yaml file into either side.
- 2
Pick a diff mode
Choose Line Diff for whole-line changes, Character Diff to highlight individual edits, or JSON Diff to pretty-print both sides so structural changes align.
- 3
Compare
Hit Compare to render a colour-coded diff with a summary of added, removed and unchanged lines — green for additions, red for removals.
- 4
Export the patch
Download the result as a .patch file with + and - prefixes, or Reset to start over. All comparison happens locally.
Frequently asked questions
- What diff modes are available?
- Three: line diff (compares whole lines), character diff (highlights individual character changes) and JSON diff (pretty-prints both sides first so structural changes line up regardless of formatting).
- Can I compare files?
- Yes. Upload a .txt, .json, .md, .csv or .yaml file into either side, or paste the text directly. File reading happens locally in your browser.
- Can I export the diff?
- Yes. After comparing, download the result as a .patch file with added lines prefixed by + and removed lines prefixed by -.
- When should I use JSON diff instead of line diff?
- Use JSON diff when comparing two JSON documents that may be formatted or indented differently. It pretty-prints both sides first, so structural changes line up and you see real value differences rather than whitespace noise. Use line diff for plain text and code.
- What file types can I upload?
- You can load .txt, .json, .md, .csv and .yaml/.yml files into either side. The file is read locally in your browser; only its text contents populate the editor.
- Is my text sent to a server?
- No. The comparison runs entirely in your browser using the diff library. Your text is never uploaded to JusDB or any server.
Getting useful diffs out of text and code
Not every diff answers the same question. The granularity you choose decides whether you see a meaningful change or a wall of red and green. Picking the right mode — and taming the noise that hides real differences — is what separates a quick gut-check from an hour of squinting at two near-identical files.
Line, word, and character granularity
A line diff treats each line as the atomic unit: change one token on a line and the whole line shows as removed-then-added. That is ideal for source code and config, where lines map to statements. Word and character diffs zoom in to highlight the exact characters that moved, which is what you want for prose, a renamed identifier, or a flipped flag value buried in a long line. The trade-off is signal density: character diffs on heavily edited text fragment into confetti, while line diffs on minified or single-line content tell you almost nothing.
Unified vs side-by-side, and whitespace noise
Unified output stacks additions and removals in one column with >+ and - prefixes — compact, copy-paste friendly, and the format every code review tool speaks. Side-by-side puts old and new in parallel panes, which is easier to scan when blocks move around. Either way, the silent killer of a clean diff is whitespace: trailing spaces, tabs-vs-spaces, and especially line endings. A file saved on Windows (CRLF) compared against one saved on macOS or Linux (LF) can report every single line as changed even when the visible text is identical. Normalize EOLs and trim trailing whitespace before you compare, or you will chase ghosts.
Where this actually earns its keep
The everyday wins are comparing the same config across staging and production to explain why one environment misbehaves, reviewing a colleague's edits before you merge, and diffing two query result sets or database dumps to confirm a migration changed exactly the rows it should have. Schema migrations are a classic case: diff the old and new DDL to verify a column add did not quietly drop an index or alter a default. When the two sides are JSON, pretty-print both first so key reordering and indentation stop masquerading as real changes — our JSON formatter is handy for that pre-pass. If you are weighing managed Postgres or MySQL, the JusDB databases overview covers how schema changes get reviewed and shipped.
Comparing connection strings, credentials, customer records, or a production dump? This checker runs entirely in your browser — nothing is uploaded — so sensitive data never leaves your machine, which matters when the text you are diffing would never be allowed near a third-party server.