NimbusNexus
Free utility · Runs in your browser

A diff viewer with the right granularity for the job.

Compare two blocks of text — line, word, or character — and see exactly what changed. Powered by `jsdiff` (the same algorithm Git uses internally). All comparison happens in this browser tab.

Awaiting input
Diff
Awaiting input
PRIVACY

Diffing happens in this browser tab via `jsdiff`, a pure-JavaScript implementation of the Myers diff algorithm. No text leaves the page; we never see what you compare.

What you get

Three granularities, one keystroke apart.

A diff viewer that handles three levels of resolution — line, word, character — with the option to ignore case or whitespace, so you can find the actual change without the noise.

Three diff modes

Line for code review and config changes. Word for prose, copy edits, and translations. Character for finding the one byte that differs in two superficially-identical strings (great for tracking down a stray zero-width space).

Myers diff algorithm

jsdiff implements the same algorithm Git uses for its default diff output. Output minimizes the number of insert/delete operations — the result is the shortest correct diff, not just any diff.

Ignore case + whitespace

Toggle case-insensitive or whitespace-insensitive comparison. Useful for comparing copy across rebrands ("Shipping" vs "shipping") or for normalizing two YAMLs with different indent levels.

Live recomputation

Every keystroke triggers a fresh diff. No Compare button — just type, see the result. Texts up to a few thousand lines stay responsive.

Add / remove counts

Status pill shows how many lines (or words, or chars) were added vs removed. Useful for "is this a one-character typo or a real change" gut-checks before reading the full diff.

Inline rendering

Additions in green, deletions in red, unchanged sections plain. Inline view (not split-pane) so context wraps naturally and long diffs scroll vertically without horizontal hunting.

Swap

One click flips left and right — useful for toggling "what changed" vs "what was reverted" perspectives without recopying both sides.

No sign-up, no logging

Use anonymously. No account, no history, no telemetry. Inspect the network tab — there is nothing outbound.

Common uses

Wherever two versions need to be reconciled.

CODE
Compare two snippets without staging a commit

When debugging a paste-from-Slack issue and the upstream PR, the diff viewer is faster than `git diff <(echo …) <(echo …)`. Line mode mirrors what Git would show.

function foo() { return a } vs function foo() { return b }
COPY
Review marketing copy edits

A copywriter sends a rewrite of a landing-page section. Word mode highlights exactly which phrases changed — much more readable than line mode for prose.

"sign up free" vs "start free →"
CONFIG
Spot a one-character drift in a config

Two `nginx.conf` files behave differently and you cannot see why. Character mode finds the trailing space, the swapped semicolon, the smart quote that crept in via copy-paste.

listen 80; vs listen 80 ;
I18N
Compare translations

Word mode is great for translation review — even when the languages differ, you can see which segments map to each other and which were left untranslated.

"Sign up free" vs "Inscríbete gratis"
AUDIT
Compare two API responses

Pretty-print both with the JSON formatter, paste here in line mode. Spots the field that changed between two calls — useful when an integration suddenly behaves differently.

"version": "1.4.0" vs "version": "1.4.1"
INVISIBLE
Find a zero-width or smart-quote character

When a copy-paste from rich text smuggles a U+200B or a curly quote into a regex, character mode reveals the offender. Both strings look identical to the naked eye.

"abc" vs "abc​" (trailing ZWSP)
FAQ

Diffing, the plain answers.

Which diff algorithm does this use?

Myers diff, via the `diff` (jsdiff) package — the same algorithm Git uses for its default output. It finds the shortest sequence of insertions and deletions that turns the original into the modified text. "Shortest" is a precise mathematical property, not a heuristic.

When should I use line vs word vs character mode?

**Line** for code, configs, structured documents — anything where logical units are line-sized. **Word** for prose, marketing copy, translations — natural-language edits change words, not entire lines. **Character** for fingerprinting tiny drifts (trailing spaces, smart quotes, zero-width spaces) where the diff would otherwise be invisible.

What does "ignore whitespace" do exactly?

In line mode, whitespace within a line is normalized before comparing — runs of spaces collapse to one, leading and trailing whitespace are trimmed. In word and character modes, the toggle is a no-op since whitespace is already part of the granularity decision. Useful when you have two YAML files with different indent depth but the same structure.

Are there text size limits?

jsdiff scales O(N×D) where N is the input length and D is the number of differences — fast for typical compares (a few KB each side, dozens of changes). Multi-megabyte inputs with thousands of differences will start to feel slow, but the tool stays responsive for the inputs people actually paste interactively. For really big diffs, use `diff` on the CLI.

Will my data be sent to a server?

No. Diffing runs entirely in this browser tab via `jsdiff`. The page makes no network calls related to your input. Open DevTools → Network and watch nothing happen as you paste.

Why no syntax highlighting in the diff?

Two reasons: it would lock the tool to a fixed set of languages (current language detection in the browser is awkward without extra deps), and the visual contrast between added/removed/unchanged is the load-bearing affordance of a diff — adding syntax color tends to fight it. If you want syntax-aware diffing, GitHub's blame view or VS Code's diff editor are the right tools.

When you need more

Building services where every commit needs a real review?

Sign up for the free tier and you get $100 in credits, plus VMs, managed databases, object storage with versioning, and zero-config autoscaling across four regions.