OPENVIST TOOLS · FREE TO USE
JSON Compare
Compare two JSON documents by structure and find added, removed or modified values.
Runs locally in your browserMaximum 2 MiB per input. Selected Base64 and SHA-256 files are read as exact bytes. CSV: 20,000 data rows and 100 columns. Text comparisons preserve case, whitespace and Unicode spelling.
Object key order is ignored. Arrays are compared by zero-based index. Number spellings are exact: 1 and 1.0 differ, with no rounding of large numbers. Strings are compared after JSON unescaping. Duplicate keys are rejected. Maximum 100 nesting levels, 100,000 values per input and 10,000 changes. Paths use JSON Pointer; an empty path means the root. Added or removed containers are reported once. Result snippets are JSON source strings, not rounded parsed values. The report is not a JSON Patch.
Load an example or provide your input to begin.
Result
Downloads contain your processed data. Review them before sharing.
What this tool does
Object key order is ignored. Arrays are compared by zero-based index. Number spellings are exact: 1 and 1.0 differ, with no rounding of large numbers. Strings are compared after JSON unescaping. Duplicate keys are rejected. Maximum 100 nesting levels, 100,000 values per input and 10,000 changes. Paths use JSON Pointer; an empty path means the root. Added or removed containers are reported once. Result snippets are JSON source strings, not rounded parsed values. The report is not a JSON Patch.
Use the example to understand the accepted input. Field names, when applicable, are literal. Inputs are not executed, and Sitemap Inspector never requests the listed URLs.
Worker processing stops after 20 seconds; results are limited to 5 MiB. Initial sitemap XML parsing runs locally before that worker timeout. Inputs and results are cleared when you reload the page. Nothing is executed from the supplied files.
A practical example
Compare two saved API responses or configurations when spacing and object-key order should not count as changes.
Example input
Before: {"enabled":false,"count":9007199254740993}
After: {"count":9007199254740994,"enabled":true}What to expect
Two modified paths: /enabled and /count. Numeric tokens are preserved; 1 and 1.0 are intentionally different.
Use the controls above to enter this example. Load example may use a different sample; check the selected operation and options.
Continue with a related recipe
These scripts address related tasks. Review each recipe’s runtime, inputs, recorded tests and limits; its behavior may differ from this browser tool.
