Semantic JSON comparison
Whitespace, indentation, and object-property order do not create noise in the default comparison. A string, number, boolean, null, empty array, and missing property are all treated as meaningfully different states.
Private browser-based JSON diff
Compare two JSON files side by side and instantly find added, removed, changed, and moved values. Your data is processed locally and never uploaded.
Match by key works with arrays of objects. The tool warns before it falls back to positions.
Original JSON
Paste JSON or drop a .json file here.
Modified JSON
Paste JSON or drop a .json file here.
Comparison results
Ready to compare.
JSON Compare is built for the practical work behind an API response, configuration update, or data migration. It compares the structure and values, not just the way the text happens to be formatted.
Whitespace, indentation, and object-property order do not create noise in the default comparison. A string, number, boolean, null, empty array, and missing property are all treated as meaningfully different states.
Use position for ordered results, ignore order for tag-like collections, or match object records by an identity property such as id or uuid. Duplicate and missing identity values are called out.
The comparison worker runs in the browser. There is no account, automatic cloud save, or document upload step. Clear the editors when you are done to remove the in-page copy.
Check expected and actual responses, then focus on the exact property that changed instead of scanning two large payloads line by line.
Compare development, staging, and production settings while keeping formatting differences out of the way.
Review transformed data, find missing fields, and export a clean change summary for a ticket, pull request, or handoff.
Match arrays of records by a stable key when order is not important but the identity and values of each record are.
No. JSON Compare reads, parses, compares, merges, and exports data in your browser. Choosing a file only lets your browser read that local file; it is not sent to Compare2Lists for processing.
Semantic comparison ignores formatting, line endings, and object-property order by default. If the underlying values are the same, there is nothing to fix.
By position compares each index. Ignore order treats arrays as collections while keeping duplicate counts. Match by key is designed for arrays of objects, such as API records with an id or uuid.
Yes. After a comparison, export an RFC 6902 JSON Patch, a Markdown summary, a JSON change list, or CSV. Keys containing slashes and tildes are escaped in patch paths.
Yes. Each listed difference has directional merge controls. The tool updates only the document you choose and keeps an undo history for merge actions during the current session.
The editor points out the parse problem before comparison. Empty editors are treated as empty, not as an error, and comparison remains disabled until both documents are valid JSON.
Inspect URL paths, parameters, and fragments without making a network request.
Open toolCompare pasted paragraphs, writing revisions, and snippets when a text diff is the right fit.
Open toolCompare pasted list values and find unique entries, shared items, and duplicates.
Open toolReview ordinary text and code files line by line when semantic JSON comparison is not the right fit.
Open toolCompare YAML mappings, sequences, scalar types, and multi-document streams locally.
Open toolCompare XML semantically when namespaces, attributes, and element structure matter.
Open toolSee the full collection of browser-based comparison and list tools.
Open tool