Now available — v0.1.1
Cross-database
diffs that actually
tell you the truth.
Diff Gnome is a CLI-first tool that compares tables across MySQL, PostgreSQL, and SQL Server — schema, row counts, and every individual row — without breaking a sweat.
Download for
14 days free — no credit card
// Real output
See the gnome at work
Browser-rendered terminal output styled after actual diff-gnome runs. Dummy table names.
[diff-gnome] (^_^) inspecting schemas, counts, and rows
┌─ Diff Gnome ──────────────────────────────────────────────────────┐
│ Comparing orders_archive → orders_warehouse (sqlserver → mysql) │
└───────────────────────────────────────────────────────────────────┘
• Schema compatible ✓ Compatible
• Row count left 26,816
• Row count right 26,816
• Matched rows 26,805
• Key order_id
Mismatches found:
~ CHANGED 88421 updated: 2026-04-17T21:21:14Z → 2026-04-17 17:21:14
~ CHANGED 88422 updated: 2026-04-17T21:17:14Z → 2026-04-17 17:17:14
~ CHANGED 88458 updated: 2026-04-17T21:19:43Z → 2026-04-17 17:19:43
~ CHANGED 88499 updated: 2026-04-17T23:00:16Z → 2026-04-17 19:00:16
~ CHANGED 88500 status: "pending" → "shipped"
~ CHANGED 88501 total: 149.99 → 159.99
- MISSING 88503 (not on right)
+ EXTRA 88799 (not on left)
Summary: 6 changed 1 missing 1 extra 0 errors
MacBookPro:Diff-Gnome harrywynn$ ▌
[diff-gnome] (^_^) planning sync
┌─ Diff Gnome ──────────────────────────────────────────────────────────┐
│ Sync orders_archive → orders_warehouse (sqlserver → mysql) DRY RUN │
└───────────────────────────────────────────────────────────────────────┘
• Rows in scope: 26,816 (left) 26,816 (right)
• Key: order_id
Planning...
+ INSERT 0 row(s) missing from left
~ UPDATE 11 row(s) with changed values
- DELETE 0 row(s) (--delete-missing not set)
✓ Plan complete. 0 insert(s) 11 update(s) 0 delete(s) queued
Run with --apply to execute.
MacBookPro:Diff-Gnome harrywynn$ ▌
[diff-gnome] (^_^) dedupe finished: 3 duplicate groups | 0 conflicting groups | 4 deletable rows
┌─ Diff Gnome ──────────────────────────────┐
│ Dedupe commission_receivables DRY RUN │
└───────────────────────────────────────────┘
• Datasource mysql
• Rows scanned 41,204
• Key jobnumber, monthyear, recipient, invoicenumber
Duplicate analysis:
+ DUPLICATE GROUPS 3
~ CONFLICTING GROUPS 0
- DELETABLE ROWS 4
✓ No duplicate rows found.
MacBookPro:Diff-Gnome harrywynn$ ▌
[diff-gnome] (^_^) inspecting schemas, counts, duplicate-key risk, and left-side triggers
┌─ Diff Gnome ──────────────────────────────────────────────────┐
│ Preflight orders_archive → orders_warehouse DRY RUN CHECK │
└───────────────────────────────────────────────────────────────┘
• Row count left 26,816
• Row count right 26,816
• Schema ✓ Compatible
• Key order_id
• Key index (left) ✓ Backed by index
• Key index (right) ✓ Backed by index
• Duplicate keys 0 groups
• Left-side triggers none detected
✓ Ready. No doctor warnings found.
MacBookPro:Diff-Gnome harrywynn$ ▌
// Features
Everything you need.
Nothing you don't.
Chunk-based comparison
Skips matching chunks with a hash check and recursively drills into mismatched ones. Fast even across tens of millions of rows.
MySQL · PostgreSQL · SQL Server
Compare across different engines. Loose type matching handles VARCHAR vs NVARCHAR noise so you focus on real differences, not formatting quirks.
Sync & apply
Found the diff — now fix it. Sync inserts, updates, and deletes from source to target with configurable batch sizes and safety limits.
Doctor preflight
Run
doctor before any sync. Checks indexes, duplicate keys, triggers, and safety flags before a single row is touched.Batch jobs via config
Define dozens of compare/sync/dedupe jobs in YAML and run them in parallel. Per-job reports, mismatch files, and event streams included.
JSON, text & markdown output
Pipe into CI with
--fail-on-diff, export mismatches to JSONL, or generate readable markdown reports for humans.Dedupe
Find and remove duplicate rows on a single datasource. Back them up first. Apply when you're ready. Restore if you're not.
Safe by default
Always dry-run first.
--max-writes, --max-deletes, --require-where. You decide how cautious the gnome gets.// How it works
Six steps to the truth
01
Schema inspect
Both sides profiled for column types and compatibility.
02
Row counts
Quick sanity check before any heavy lifting.
03
Stream & chunk
Both tables stream ordered by key. Aligned chunks get a hash check.
04
Skip matches
Matching chunks skipped entirely — no row-by-row waste.
05
Drill down
Mismatched chunks split recursively until changed rows are found.
06
Report
Changed, missing, and extra rows surface with full values.
Supported databases
🐬 MySQL
🐘 PostgreSQL
🪟 SQL Server
// Pricing
Pay once. Own it forever.
Perpetual license — no subscriptions, no renewals, no surprises.
14-day free trial included. No credit card to start.
Perpetual License
$49
$37
One-time purchase · Free updates
Everything Diff Gnome can do. Pay once, own it forever. No subscriptions, no renewals.
- Unlimited compares
- MySQL, PostgreSQL, SQL Server
- Schema + row + count diff
- Sync & apply
- Dedupe & restore
- Doctor preflight
- Batch run config (YAML/JSON)
- Parallel job execution
- JSON, text & markdown output
- Event streams & mismatch exports
- 2 activated machines