# JSON diff: compare what actually changed.

Compare API responses, configuration and seed data. Get added, removed and changed JSON Pointer paths, with the old and new values — free, no sign-up.

Page: https://saascode.ai/tools/json-diff

## How to use

1. Paste the original JSON on the left and the new JSON on the right.
2. Choose Compare JSON. Both inputs are parsed before the structural comparison.
3. Inspect each changed path and its before/after values, then copy or download the report.

## Scope

A structural diff, not a text diff. Object order is ignored; array order is meaningful.

## Build your SaaS

[Build on SaaSCode Base](https://saascode.ai/free)

## Related tools

- [JSON to TypeScript](https://saascode.ai/tools/json-to-typescript)
- [JSON formatter](https://saascode.ai/tools/json-formatter)
- [JSON ↔ CSV, YAML & XML](https://saascode.ai/tools/json-converter)
- [All free tools](https://saascode.ai/tools)

## FAQ

### Is this free, and do I need an account?

It is free, no sign-up. Processing happens in your browser. Tool inputs and results are not sent to a processing API or saved by this tool. Usage analytics record only the tool name and action.

### Does object key order matter?

No. Object members are compared by name, so reordering keys does not create a difference. Strings, numbers, booleans and null remain distinct types.

### How are arrays compared?

By index. Inserting an item at the start can change several paths. This tool does not guess an identity key or treat arrays as unordered sets.

### What do the paths mean?

Paths use JSON Pointer: /items/0/name points to the name of the first item. A slash in a key becomes ~1, a tilde becomes ~0, and the empty path represents the root value.

### Can I compare API responses or Supabase seeds?

Yes. Paste the JSON bodies from each environment or version. The tool compares values without calling either API or database.

### What if my JSON is invalid or very large?

The tool shows a parsing error instead of a diff. Inputs are limited to 1 MB each, 100 nesting levels and 100,000 values so a sample remains manageable in the browser.
