Skip to content
Marvin's Toolbox.

Search tools

Type to filter all tools

JSON Diff

Compare two JSON documents by structure and see every added, removed and changed key and value with its exact path. Browse the result as a tree, a filterable change list or a line diff, ignore array order, catch type changes and export the changes as a JSON report.

Everything runs locally in your browser. Your data never leaves your device.

Added+3Removed−1Changed4

Next steps

Keep going. These tools open with your result loaded in.

Paste JSON to explore it as a collapsible, searchable tree, hide the fields you don't need, and see the structure it implies as a badge-annotated schema and a copyable TypeScript interface.

Convert config and data between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env. Type or paste on the left, pick the output format on the right, and copy the result. Includes a format button and a minify toggle.

Compare two JSON documents by structure and see every added, removed and changed key and value with its exact path. Browse the result as a tree, a filterable change list or a line diff, ignore array order, catch type changes and export the changes as a JSON report.

Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more, each with its own copy button.

Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.

Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.

Compare two texts and see every added, removed and changed line highlighted, side by side or inline, with the changed words marked within each line. Ignore case, whitespace or blank lines, read a summary of how much changed, and export the result as a unified diff.

Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly and reads URL-safe Base64 too.

Sort the lines of a text alphabetically, naturally, by length, by numeric value or shuffled. Reverse the order with a switch, and optionally trim lines, drop blank lines and remove duplicates in the same pass.

Convert a color between HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH and OKLAB. Type into any field and the others update as you go, or pick the color visually. Reads CSS color syntax and keeps alpha where the format supports it.

Check two colors against the WCAG contrast rules. Type or pick a text and a background color, read the contrast ratio, see which AA and AAA checks pass, preview real text at the sizes WCAG distinguishes, and get suggested fixes when a check fails.

Create a QR code for text, a link, an email, a phone number, an SMS, Wi-Fi access or a contact card. Set the error correction level, size, margin and colors, then download it as PNG or SVG or copy it straight to the clipboard.

Paste a cron expression and get a plain English explanation, a field by field breakdown and the next times it would run, in your local timezone or UTC. Reads five field crontab syntax, six fields with seconds, names like MON and macros like @daily.

Work out an IPv4 or IPv6 network from an address with a prefix or netmask: network and broadcast addresses, usable host range, subnet mask, wildcard mask and address type. Adjust the prefix with a slider, read the binary breakdown, and split the network into smaller subnets.

Hash text or a file with MD5, SHA-1, SHA-256, SHA-512, SHA-3, BLAKE2, BLAKE3, CRC32 and more, all computed live as you type. Compare against an expected checksum and copy any digest.

Encode text for use in URLs or decode percent-escaped strings back to readable text. Choose component, full-URL or form encoding, unwrap double-encoded strings, and break a URL into its parts with every query parameter decoded.

Convert Unix timestamps in seconds, milliseconds, microseconds or nanoseconds to readable dates in your local time, UTC or any timezone, and turn any date back into a timestamp. Shows the live current timestamp and relative time.

Escape text into HTML entities or decode entities back to plain text. Choose named or numeric entities, escape only the unsafe characters or everything outside ASCII, and read the result live.

Paste a JSON Web Token to see its header and payload as formatted JSON, with the token color coded so each part maps to its output. Explains the registered claims, shows expiry as readable dates, flags expired tokens and can verify the signature with a secret or public key.

Compress text or a file with gzip, deflate, brotli or Zstandard and see the size before and after, the compression ratio and how long it took. One click tries every method and recommends the smallest result.

Decompress gzip, deflate, brotli or Zstandard data from a file or pasted Base64 and read the result as text or download it. Detects the format from the magic bytes where possible, with a manual override.

About the JSON Diff

This tool compares two JSON documents by structure, not by text. Paste the original on the left and the changed version on the right, and it lists every key that was added or removed and every value that changed, each with its exact path.

Formatting and key order do not matter. Two documents that differ only in indentation or in the order of their keys count as identical, so the result shows real changes instead of noise.

What you can do

  • Compare two JSON documents and see every added, removed and changed key and value.
  • Spot values that changed type, like a number that became a string.
  • Browse the differences as a tree, a flat list of changes or a classic line diff.
  • Copy the JSONPath of any change to use in your code or tests.
  • Compare arrays with or without caring about item order.
  • Treat null and missing keys as equal when an API omits empty fields.
  • Export all changes as a JSON report.

How to use the JSON Diff

  1. 1Paste the original JSON on the left and the changed JSON on the right.
  2. 2Read the summary to see how many keys were added, removed or changed.
  3. 3Scan the change list to find each difference and copy its path, or switch to the tree or text view for more context.
  4. 4Turn on the compare options if array order or null handling gets in the way.
  5. 5Copy or download the change report if you need to keep it.

Structural, not textual

A plain text diff of two JSON files flags every reordered key and reformatted block, even when the data is the same. This tool parses both documents first and compares the values, so a change in version is reported as exactly that, no matter how the files are formatted. To compare plain text instead, use the Text Diff.

Arrays and ordering

By default arrays are compared in order, and the items are aligned so one inserted element does not mark everything after it as changed. A replaced item is compared field by field, so editing one property of an object inside an array reports just that property. If order does not matter for your data, for example a list of tags, turn on Ignore array order and reordered items count as equal.

Reading the result

Green rows only exist in the changed document, red rows were removed, and amber rows changed value, with the old and new value side by side. Type changes are called out separately, since "8080" and 8080 behave very differently in code. Every change carries its JSONPath, ready to copy into a test or a jq query. To explore either document on its own, open it in the JSON Inspector.

Convert config and data between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env. Type or paste on the left, pick the output format on the right, and copy the result. Includes a format button and a minify toggle.

Paste JSON to explore it as a collapsible, searchable tree, hide the fields you don't need, and see the structure it implies as a badge-annotated schema and a copyable TypeScript interface.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly and reads URL-safe Base64 too.

See what your clipboard really holds. One press lists every format on it, from plain text and HTML to Excel tables and images, each with its type, size and a preview. Pasting works too, and can reveal even more formats.

Check two colors against the WCAG contrast rules. Type or pick a text and a background color, read the contrast ratio, see which AA and AAA checks pass, preview real text at the sizes WCAG distinguishes, and get suggested fixes when a check fails.

Convert a color between HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH and OKLAB. Type into any field and the others update as you go, or pick the color visually. Reads CSS color syntax and keeps alpha where the format supports it.