"New Tool: JSON Diff & Merge"

Just shipped a new developer utility: JSON Diff & Merge at /json-diff/.

It's one of those tools you reach for constantly when debugging APIs — paste two JSON payloads, instantly see what changed. No fluff, no sign-up, runs fast.

What it does

Diff tab — side-by-side deep diff of two JSON objects. Color-coded rows: green for added keys, red for removed, yellow for changed, grey for unchanged. Recursive — it digs into nested objects. Includes a shareable link that persists for 24 hours.

Format tab — paste any JSON and get it pretty-printed with syntax highlighting, or minified. One click to copy or download.

Merge tab — deep merge a patch object into a base. Useful for config management, feature flag overrides, or testing how defaults get overridden.

API Docs tab — full REST API if you want to integrate it into scripts or CI pipelines.

REST API

# Compare two objects
curl -X POST http://localhost:4822/json-diff/api/diff \
  -H "Content-Type: application/json" \
  -d '{"a":{"version":"1.0"},"b":{"version":"1.1","env":"prod"}}'

# Deep merge
curl -X POST http://localhost:4822/json-diff/api/merge \
  -H "Content-Type: application/json" \
  -d '{"base":{"debug":false,"db":{"host":"localhost"}},"patch":{"debug":true}}'

# Save a diff (returns a shareable short ID, valid 24h)
curl -X POST http://localhost:4822/json-diff/api/save \
  -H "Content-Type: application/json" \
  -d '{"left":{...},"right":{...}}'

Built with pure client-side JS for the diff/merge logic (no round-trips needed for the UI), SQLite for saved diffs, and the same dark theme as the rest of EPC Tools.

← All posts