JSON formatter
Format, explore, query, compare and convert JSON locally. Free, with no account or uploads.
More transformations
Sorting changes key order recursively, preserving array order. Repair can add or remove content; review its preview. Redaction matches exact property names, ignoring case, and does not guarantee every secret is removed.
Add valid JSON to explore its structure.
JSONPath: $.users[*].name, $..id, $.users[0:2], or $.users[?@.role == "editor"]. JSON Pointer: /users/0/id; ~1 means / and ~0 means ~. Values retain exact numeric text. Filters require safe numbers.
Object key order is ignored; arrays compare by position; numbers compare exactly. The patch transforms source into comparison, with at most 500 changes.
Add, remove, replace, move, copy and test are supported. Failures leave the source intact. Removing the root is rejected because it would leave no JSON document.
Draft-07, 2019-09 and 2020-12 (default). Email, URI and date-time format checks. Local $ref/$defs work; remote references are never fetched. No coercion, defaults or removed values. Up to 100,000 schema characters; operations stop after 20 seconds.
CSV/table view need an array of objects. CSV imports keep cells as strings. YAML aliases, merge keys, custom tags and non-string keys must be expanded or converted first. Types/schemas describe one sample and need review.
Source, comparison and schema text stay in this tab and clear on refresh. Files are not uploaded. The editor never runs pasted JavaScript. Cancel stops the worker without changing your source.
A little help along the way
Choose Edit to format or repair, Explore to inspect values, Query to select data, Compare to preview patches, Schema to check a contract, or Convert to export another format. Results stay separate until you choose Use result as source.