The enterprise-grade change detection platform that compares files line by line with surgical precision. Stop guessing what changed. Start knowing.
Diverge ships with the most comprehensive change detection engine on the market. No plugins, no extensions — just precision-engineered diffing out of the box.
-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.
-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.
-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.
-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.
-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.
--color
Terminal-native color output that makes additions and removals instantly distinguishable. Fully
customizable via --palette with terminfo capabilities. Because readability
compounds.
-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.
-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.
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.
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.
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.
Edit the files below and watch changes highlight in real time.
Diverge speaks the language of every toolchain, CI system, and code review platform. Pick your format and ship.
1,2c1,2
< Hello World
< count = 5
---
> Hello Diverge
> count = 10
Every Diverge comparison produces structured insights. Here's a snapshot from a real deploy cycle.
"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."
"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."
"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."
"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."
Start free. Upgrade when your comparison needs outgrow the basics.
-r-w -b -E--color-i-q-I RE--ifdef merged output$ 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
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.
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.
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.
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.
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).