Backed by mandō

Every change.
Detected.

The enterprise-grade change detection platform that compares files line by line with surgical precision. Stop guessing what changed. Start knowing.

0% Accuracy rate
0GB/s Throughput on commodity hardware
0+ Output formats supported
0K+ Active engineering teams

Every format. Every edge case.
Every single line.

Diverge ships with the most comprehensive change detection engine on the market. No plugins, no extensions — just precision-engineered diffing out of the box.

Unified View™

-u

Our flagship unified format output surfaces additions and removals in a single, contiguous stream. Three lines of context by default — adjustable up to N with -U NUM. The format the industry adopted as standard.

Split Lens™

-y

Side-by-side column output for a true parallel comparison experience. Pair with --suppress-common-lines to laser-focus on what actually changed. Adjustable width via -W NUM.

Context Engine

-c

Outputs NUM lines of surrounding context around each change. Because differences without context are just noise. Fine-tune with -C NUM for exactly the window you need.

Deep Scan™

-r

Recursive directory comparison that descends into every subdirectory, comparing all files found at any depth. Pair with -N to treat absent files as empty for complete tree-level diffing.

Whitespace Normalization Layer

-w -b -E -Z

A full suite of whitespace intelligence. Ignore all whitespace (-w), ignore amount changes (-b), normalize tab expansion (-E), or strip trailing spaces (-Z). Your diffs, your rules.

Chromatic Output Engine

--color

Terminal-native color output that makes additions and removals instantly distinguishable. Fully customizable via --palette with terminfo capabilities. Because readability compounds.

Phantom File Protocol

-N

Treat absent files as empty, enabling clean diffs against newly created or deleted files. Combined with recursive mode, this unlocks full directory tree diffing even when file sets don't perfectly overlap.

Executive Summary Mode

-q

Report only whether files differ — no content, no noise. The high-leverage output for CI pipelines, build scripts, and anyone who needs a binary yes/no at scale. Pairs with -s to also report identical files.

Three steps to total clarity

01

Ingest

Point Diverge at any two files or directory trees. We accept text files of any encoding, handle binary detection automatically with -a, and strip trailing CR with --strip-trailing-cr for seamless cross-platform workflows.

02

Analyze

Our diffing engine compares line by line using a minimal-change algorithm (-d). Apply case-blind matching (-i), blank line suppression (-B), or regex-based line filtering (-I RE) to eliminate noise.

03

Output

Choose your format: unified (-u), context (-c), side-by-side (-y), ed script (-e), or RCS (-n). Pipe through -l to paginate, or consume directly in your automation pipeline.

Try Diverge — right here, right now

Edit the files below and watch changes highlight in real time.

Format:
File A
File B
+0 additions -0 removals 0 unchanged

Change Statistics Dashboard

Every Diverge comparison produces structured insights. Here's a snapshot from a real deploy cycle.

Change Composition

377 lines
Removed (113) Added (151) Unchanged (113)

Files Changed by Type

.js
14 files
.css
9 files
.html
6 files
.json
4 files
.yml
3 files

Diff Vitals

Hunks detected23
Files compared36
Directories scanned12
Binary files skipped4
Identical files18
Processing time0.42s

Trusted by teams who ship

★★★★★
"We migrated our entire review pipeline to Diverge's unified format and our merge conflict resolution time dropped by 68%. The -B flag alone saved our team hundreds of hours on config file reviews."
Jamie Lindstrom
Jamie Lindstrom VP of Platform Engineering, ScaleForge
★★★★★
"As a solo dev shipping three projects, Diverge's recursive mode with -N is my north star. I diff entire directory trees before every deploy. It's like having a senior engineer review every line."
Rui Kosta
Rui Kosta Indie Developer & Building in Public
★★★★★
"The side-by-side output with --suppress-common-lines is the most high-leverage feature we've adopted. Our compliance team can audit config changes in seconds instead of minutes. Game-changing."
Ayesha Nazari
Ayesha Nazari CTO, InfraVault
★★★★★
"We needed a diffing solution that handled cross-platform line endings without drama. Diverge's --strip-trailing-cr just works. No config, no plugins, no friction. We went from zero to one in under a day."
Marcus Tremblay
Marcus Tremblay Lead DevOps, DataMesh

Plans that scale with your diffs

Start free. Upgrade when your comparison needs outgrow the basics.

Starter
$0/month
  • Normal format output only
  • 50 comparisons/month
  • Single-file mode
  • No recursive mode
  • No color output
  • No whitespace options
Get Started Free
Team
$49/seat/month
  • Everything in Pro
  • All output formats (ed, RCS)
  • Shared diff history & audit logs
  • SSO & team permissions
  • Brief report mode -q
  • Custom palette support
Start Team Trial
Enterprise
Custom
  • Everything in Team
  • Dedicated support & SLA
  • Custom integrations
  • Regex line filtering -I RE
  • --ifdef merged output
  • On-prem deployment
Contact Sales

See it in the terminal

~/project
$ diverge -u old.conf new.conf
--- old.conf
+++ new.conf
@@ -1,6 +1,7 @@
 server {
-    listen 80;
+    listen 443 ssl;
     server_name example.com;
-    root /var/www/html;
+    root /var/www/app;
+    ssl_certificate /etc/ssl/cert.pem;
 }

$ diverge -rq src/ src-backup/
Files src/index.js and src-backup/index.js differ
Files src/utils/helpers.js and src-backup/utils/helpers.js differ

$ diverge -y --suppress-common-lines a.txt b.txt
Hello World                         | Hello Diverge
count = 5                           | count = 10
                                    > extra_line = true

Questions? We've got answers.

What output formats does Diverge support?

Diverge supports normal (default), unified (-u), context (-c), side-by-side (-y), ed script (-e), and RCS (-n) formats. Each is designed for a different workflow. Unified is the industry standard for patches and code review. Side-by-side is best for human comparison. Brief mode (-q) gives you a simple yes/no per file.

Can I compare entire directories, not just files?

Absolutely. With recursive mode (-r), Diverge descends into every subdirectory and compares all matching files. Add -N to treat files that only exist in one directory as if they were empty in the other, giving you complete change coverage across directory trees. You can also exclude patterns with -x PAT.

How does Diverge handle binary files?

By default, Diverge detects binary files and reports them as "differ" without attempting a line-by-line comparison. If you want to force text-mode comparison on all files (including binaries), use the -a flag. For a quick overview of which files differ without content, use -q.

Is my data secure?

Diverge processes everything locally. Your files never leave your machine. There are no cloud uploads, no telemetry on file content, and no third-party data processors. Enterprise customers get additional SOC 2 compliance documentation and can deploy fully on-prem.

Can I use it offline?

Yes. Diverge is designed to work entirely offline with zero network dependencies. All comparison, formatting, and output generation happens locally. The only network activity is optional: checking for updates and syncing team settings (Team plan and above).

See mandō's portfolio