Skip to content
Developer tools · JSON

JSON Compare Tool

Compare two JSON documents by structure: array items matched by ID or content, noise like positions and ARNs ignored, and every change exportable as a JSON Patch.

Last updated · shared JSON engine: exact big numbers, repair, AWS-aware

Free · Browser-Based · No Sign-Up
JSON Comparison Tool

Paste two JSON documents and instantly diff them — additions, deletions, and changed values highlighted in colour. All processing happens in your browser; no data ever leaves your device.

Deep Diff Nested Objects Array Aware Pretty Print 100% Private
Original JSON (Left) —
Modified JSON (Right) —
Diff Result
Added Removed Changed Moved Unchanged

Your diff will appear here

Paste JSON in both panels above and click Compare JSON
How It Works

Instant JSON Diff in Three Steps

No install, no account, no data sent anywhere. Everything runs directly in your browser.

1. Paste Your JSON

Paste your original JSON in the left panel and your modified version in the right panel. Both raw and pretty-printed JSON are accepted.

2. Click Compare

Pick a preset (contact flow, IAM policy, CloudFormation, API response) or set the options, then click Compare JSON or press Ctrl+Enter. Array items are matched by ID or content, so an insert shows as one addition.

3. Read the Diff

Additions are green (+), removals red (−), changes yellow (~) and moves blue (↕), each with its exact path. Filter them, step through with ↑ ↓, switch to side by side, or export a JSON Patch or report.

100% Private

All processing is done inside your browser using JavaScript. Your JSON data is never uploaded, logged, or stored on any server.

Nested & Array Support

Deeply nested objects and arrays are recursively compared. Each change is shown with full key-path context so you know exactly where it lives.

AWS & API Ready

Ideal for comparing IAM policies, CloudFormation templates, CTR records, API Gateway responses, Lambda payloads, and any JSON configuration.

FAQ

Frequently Asked Questions

Everything you need to know about the JSON comparison tool.

A JSON comparison tool (also called a JSON diff tool) lets you paste two JSON documents and instantly highlights the differences — added keys, deleted keys, and modified values — so you can pinpoint changes without reading through raw text manually.
No. All comparison logic runs entirely in your browser using JavaScript. Your JSON data is never transmitted to any server, making this tool safe for sensitive API responses, AWS policy documents, and configuration files.
Yes. Objects are compared key by key at every depth. Array items are matched by an ID key such as Identifier, Sid or id when every item has one, otherwise by content, so inserting one item shows one addition instead of every later item "changing". You can switch to position-only matching, ignore array order, or treat lists of plain values (like IAM Action lists) as sets.
Green rows (+) were added in the right JSON, red rows (−) were removed from the left JSON, yellow rows (~) exist in both with a different value, and blue rows (↕) are array items that moved. Unchanged values are counted in the summary; the side-by-side view shows them in context.
Common use cases include comparing AWS IAM policies before and after a change, diffing Amazon Connect CTR records across deployments, auditing API response changes, reviewing CloudFormation or Terraform JSON output, and checking two versions of any configuration file.
You can open files up to 200 MB each. A 13 MB file with 200,000 records compares in a few seconds on a typical laptop. Only the first 2,000 differences are drawn at once (you can show all), and the side-by-side view is turned off for very large documents.
About This Tool

Why Use a JSON Diff Tool?

JSON (JavaScript Object Notation) is the lingua franca of modern APIs, cloud services, and configuration management. Developers and cloud engineers constantly work with JSON — from AWS IAM policies and CloudFormation templates to REST API payloads and database exports. When JSON changes between environments, deployments, or code reviews, spotting the differences by eye is error-prone and slow.

A JSON comparison tool solves this by performing a structured, key-aware diff rather than a line-by-line text diff. This means two JSON documents that are semantically identical but formatted differently are correctly identified as equal, while a single changed value deep inside a nested object is immediately surfaced with its full key path.

This tool is built for AWS architects, cloud engineers, and Amazon Connect developers who routinely work with complex JSON structures — IAM policies, Connect CTRs, CloudTrail events, API Gateway mappings, and Lambda payloads. Everything runs client-side so sensitive documents never leave your machine.

Common workflows include: comparing a staging IAM policy against production before promoting, auditing changes in Amazon Connect contact flow exports, debugging differences between two API responses during integration testing, and reviewing Terraform plan outputs in JSON format.

Practical guide

How to compare JSON without the noise

A text diff treats JSON as lines, so reformatting or reordering keys shows up as a change. This tool compares the data instead:

  • key order and whitespace never count;
  • every difference is shown with its exact path, such as $.Actions[3].Parameters.Text;
  • you can step through differences (↑ ↓ or Alt+arrow), filter them, and click a path to copy it.

Arrays: the hard part

Comparing arrays position by position makes one inserted item look as if every later item changed. Here array items are matched in this order:

  1. By ID key. If every item has a unique Identifier, Sid, id, Key, Name (or a key you type), items are paired by it. Reordered items are reported as moved.
  2. By content. Otherwise, the longest unchanged run of items is kept aligned and the rest are paired up, so an insert is one addition.
  3. By position. Available when you really want index-by-index.

The Ignore array order option compares arrays as unordered collections. Treat lists of plain values as sets does the same only for lists like IAM Action or Resource.

Presets for AWS documents

  • Amazon Connect contact flow: matches actions by Identifier, ignores block positions on the canvas, and ignores account IDs, regions and instance or resource UUIDs inside ARNs. A dev export and a prod export then show only real logic changes.
  • IAM / resource policy: matches statements by Sid, treats "s3:GetObject" and ["s3:GetObject"] as equal, and ignores the order of actions and resources.
  • CloudFormation: resources compare by logical ID, and tags match by Key.
  • API / SDK response: ignores request IDs, timestamps and ResponseMetadata.

Add your own ignore paths:

  • a plain key name (LastModified) matches that key anywhere;
  • * matches one key, [*] any index, and ** any depth (**.position).

Exports

  • JSON Patch (RFC 6902): the exact operations that turn the left document into the right one. The tool applies the patch to check it before showing it. Ignore rules do not apply to patches.
  • Merge patch (RFC 7386): the simpler "what changed" object, where null means removed.
  • Markdown or HTML report: for a change ticket, pull request or CAB review.
  • Share link: the JSON is compressed into the link itself, not stored on our server. Anyone with the link can read it, so don't share secrets.

Big numbers are compared exactly. Duplicate keys and invalid input are flagged, with one-click repair. Files up to 200 MB can be opened or dropped on each panel.

References

Runs 100% in your browser. Your files and data never leave your machine. Nothing is uploaded or stored.

Need a hand with your AWS setup?

Get help from an AWS architect who builds and runs contact centre and AI workloads: IAM, data pipelines, Bedrock and cost reviews.