SQL Formatter
Re-indent a SQL query into readable clauses, joins and conditions.
Compare two JSON documents structurally and see exactly which paths changed.
The JSON Diff compares two documents structurally rather than as text, so reordered keys and different indentation are ignored. Every real difference is listed by its path, grouped into added, removed and changed.
A text diff of two JSON files is nearly useless: reorder the keys and every line shows as changed, even though the data is identical. This tool compares the parsed structures instead, so key order and formatting are ignored and only real differences are reported.
Each difference is listed by its full path with the old and new values side by side, grouped into added, removed and changed. That makes it the right tool for the questions people actually ask of two payloads: what did this API change between versions, which fields does staging return that production does not, and did my migration alter anything it should not have.
The documents are parsed before they are compared, so a reordered response does not drown the real changes in noise.
Results are reported as data.user.email rather than as a line number, so you can find the field in code immediately.
A value that goes from the number 1 to the string "1" is reported as a change — the serialisation bug a text diff hides.
Show only additions, only removals or only changes when a diff runs to hundreds of rows.
Compare arrays as unordered sets when the sequence is not meaningful, which stops a reordered list reading as a rewrite.
Put the baseline document — the old version, or production — in the left box.
Put the version you are checking in the right box.
Every changed path is listed with its before and after value, colour-coded by kind.
Hide the kinds you do not care about, or ignore array order when the sequence is not meaningful.
No. The documents are parsed first, so {"a":1,"b":2} and {"b":2,"a":1} compare as identical. Only values and the set of keys matter.
By position, index for index, because order is usually meaningful in JSON arrays. Turn on the ignore-order option when your array is really an unordered set.
A value that goes from the number 1 to the string "1" is reported as changed, with both the type and the value shown. That catches the serialisation bugs a text diff hides.
Yes, though the report itself becomes long. Use the filter to show only added or only removed paths when a diff runs to hundreds of rows.
What people who use the JSON Diff think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the JSON Diff. It takes half a minute and no account.
Write the first reviewRe-indent a SQL query into readable clauses, joins and conditions.
Compile SCSS to plain CSS in your browser — nesting, variables and mixins.
Percent-encode URLs and query strings, or decode them back to plain text.
Describe a shape and get as many rows of matching JSON as you need.
Turn a .env file into JSON, with quotes, exports and comments handled.
Generate deterministic UUIDs from a namespace and a name.
Hash a password with bcrypt, or check one against an existing hash.
Normalise YAML indentation, quoting and key order in one pass.