Skip to main content

JSON Diff — Compare Two JSON Trees

Compare two JSON documents separated by --- and list structural and value differences.

No sign up requiredStays in your browser100% free

How it works

  1. 1Paste or type your text in the input field
  2. 2Click "Compare" — processing happens in your browser
  3. 3Copy the result or download as a text file

What to do next

About JSON Diff Tool

JSON Diff Tool is the kind of utility you bookmark and reach for when you need it. Compare two JSON documents separated by --- and list structural and value differences. It loads quickly, works on any modern browser, and produces a result you can download or copy in a single click.

The engine behind the page is standard browser APIs. It reads your file in-memory and writes the result back into the browser. For 0 MB and below the work usually completes in seconds; larger files mostly depend on how much spare RAM your device has.

JSON Diff Tool fits naturally into the workflow of data analysts wrangling JSON and students learning new languages, both of whom typically need a fast result inside the browser. There is no learning curve to budget for: anyone who has used a typical web upload form can complete a run on the first try.

Because everything runs in the page, the tool scales the same way for one user or a million — there is no per-user backend cost. The page is static, the engine is the same JavaScript bundle for every visitor, and the work happens on the visitor's own device. That keeps the tool free and keeps it fast on the first interaction.

Most people land on JSON Diff Tool via a search at the moment they actually need the tool. That shapes the design: the page is a single screen with the input on one side, the controls in the middle, and the result on the other, so a first-time visitor can complete the job without reading documentation.

Once the engine finishes, the output is offered as an immediate download. There is no preview gate, no email-wall, and no "register to download" intermediary — the file is yours the moment it is ready.

The only practical limit is the 0 MB per-file ceiling, which keeps the tool responsive across a wide range of devices. Run the tool ten times in a row, run it ten thousand times — it behaves the same way and produces the same quality of result.

If your task needs more than one step, chain JSON Diff Tool with JSON Merger, JSON Viewer / Formatter, and JSON Validator. Each tool produces output that is a clean input to the next, so multi-step workflows are just a matter of opening the next tool in a new tab and continuing.

The transformation in JSON Diff Tool is deterministic — the same input plus the same options produces the same result every run. That predictability matters when the result has to match an upstream specification or be reproducible later.

JSON Diff Tool is one example of a broader pattern: utility software increasingly works as single-page, client-side experiences. Every page in the catalog is shaped that way, which keeps each tool fast to load and easy to recommend in a single link.

JSON Diff Tool fits the gap where opening a desktop app feels heavy and writing a script feels overkill. The page handles the common developer utility task with sensible defaults so a single visit usually completes the job; for highly specialised work, a dedicated desktop application can offer more knobs to turn.

Pro tip: JSON Diff Tool works just as well in a private/incognito window as in a normal one, which is occasionally useful when you want zero browser-history footprint of the job. Another tip: if the tool ever feels slow, it is almost always because the browser tab is competing for CPU with another tab — pausing or closing the heavy ones gives the engine room to work.

For most failure modes, refreshing the page and re-running the job is enough — the engine has no persistent state to corrupt. If the same input fails twice in a row, the input itself is most likely the problem (a truncated file, an unexpected variant of the format, or a stream the engine does not recognise).

That is the whole tool. Use JSON Diff Tool for as long as it stays useful to you, and if it does, the catalog has many more tools built the same way. Each applies the same single-purpose discipline, so the way you used this page transfers to the next one you try.

How it works

  1. 1Open JSON Diff Tool in your browser. The page loads quickly and the tool is ready to use the moment it becomes interactive.
  2. 2Select the developer file you want to process — drag-and-drop and the file picker both work.
  3. 3Pick any non-default settings you need. Most users leave the defaults alone for the first run and only revisit if the result needs tuning.
  4. 4Hit the run button. standard browser APIs does the work in your browser tab.
  5. 5Download the result. The file is generated in your browser and saved through your normal download flow.
  6. 6Re-run with different settings as often as you want. Each run produces a fresh output and the original file on disk is never modified.

Common use cases

  • Decode a token to confirm its claims during a debugging session using JSON Diff Tool.
  • Pretty-print a minified blob during incident triage.
  • Compare two API responses to spot a regression.
  • Convert between data formats while wiring up an integration.
  • Inspect a regex against a test string before committing it.
  • Validate a config blob before pushing to staging.
  • Generate a quick fixture without leaving the browser.
  • Encode binary content for transport in a JSON body.
  • Generate boilerplate from a single specification line.
  • Inspect a payload during local development without writing a script.

FAQ

How should I separate the two JSON values?

Place a line containing only --- between the first and second JSON blocks; surrounding blank lines are fine.

Is comparison order-sensitive for arrays?

Arrays are compared index by index; reordering items is treated as multiple changes.

Are object key orders compared?

Objects are compared by key paths; key insertion order in the text does not matter for equality of values.

Is diffing done locally?

Yes — both documents are parsed and walked only inside your browser.

What output format is used?

Human-readable lines with JSON pointer-like paths and short descriptions of each change.

Can it produce patches?

No — only a readable list is returned, not RFC 6902 JSON Patch operations.

Can I trust the output of JSON Diff Tool for important work?

JSON Diff Tool is built on standard browser APIs, which is the same class of engine used by professional developer utility pipelines. For deterministic operations, the output is byte-identical to what an equivalent CLI run would produce; for operations involving a codec or a model, the result is well within the range of what comparable tools generate. If you have a specific reference output you need to match, run a small test job first to confirm the configuration produces what you expect.

Can I self-host JSON Diff Tool for my team?

JSON Diff Tool is a static page running an open-source engine in your browser, so a typical corporate firewall does not get in the way as long as it allows JavaScript to load from Favtoo. For teams that need to host it themselves on an internal network, the underlying engine (standard browser APIs) is open-source and can be packaged into a private build with the same behaviour. Reach out via the Contact page if that is something you are exploring.

How accessible is the JSON Diff Tool interface?

JSON Diff Tool uses native HTML controls wherever possible, which means keyboard navigation, focus rings, and screen-reader labels work the way the platform expects. The drop zone accepts files via the keyboard-accessible file picker as well as drag-and-drop, and result downloads use standard browser download flows. If you spot an accessibility gap, Favtoo treats it as a bug worth fixing.

How fast is JSON Diff Tool?

Most jobs finish in seconds. Speed scales with input size and with how many CPU cycles your browser tab has available — the engine runs in your browser, so it shares resources with whatever else you have open. For inputs near the 0 MB ceiling, expect anywhere from a few seconds to roughly a minute on a typical laptop. Closing other heavy tabs noticeably speeds things up.

Will JSON Diff Tool keep working if my Wi-Fi drops mid-task?

Once the page is loaded, JSON Diff Tool can complete jobs without an active internet connection — the engine is bundled with the page, so there is no per-job network call. The initial page load does require a connection (to fetch the static assets), but after that you can disconnect entirely and the tool will still work. This is a side-effect of the local-first architecture, not a deliberate "offline mode" feature.

Which file formats does JSON Diff Tool accept?

The accepted formats are listed in the upload area on the tool itself. If your input is in a format that is not directly supported, convert it first using one of Favtoo's converter tools — every Favtoo converter outputs a file that is a clean input to the next tool in the chain.

What permissions does JSON Diff Tool need to function?

JSON Diff Tool only needs the standard web platform — file picker access for the inputs you choose to load, and optionally clipboard access if you copy the result rather than downloading it. There is no microphone, camera, geolocation or background-permission request, because none of those are needed for the work the tool does.

Is JSON Diff Tool really free?

JSON Diff Tool is free to use. The processing runs in your browser, which keeps the per-user cost low enough that the tool can be offered openly. The download is the same file the engine produced — you can use it for as many runs as you need.

Is there a programmatic version of JSON Diff Tool?

JSON Diff Tool is a browser-only tool by design and does not expose a hosted API. The reason is the same as the privacy story: there is no Favtoo backend doing the work, so there is no service to call. If you need to script the same transformation, the underlying engine (standard browser APIs) is open-source and can be used directly from your own code.

JSON Minifier

Remove all unnecessary whitespace from JSON in one click, locally in your browser.

JSON Validator

Validate JSON syntax and see quick stats about the parsed document in your browser.

JSON Viewer / Formatter

Pretty-print JSON with two-space indentation for easier reading and debugging.

JSON to XML Converter

Convert JSON objects and arrays into XML with a root element and safe text escaping.

JSON to YAML Converter

Turn JSON into readable YAML using a simple built-in serializer for common data types.

JSON to HTML Table

Render a JSON array of objects as an HTML table with inferred column headers.

JSON to TypeScript

Infer a TypeScript-style type tree from a JSON sample for scaffolding interfaces quickly.

JSON to Java Class

Generate a simple Java data class with field declarations mapped from JSON types.

View all Developer Tools