Format, inspect, transform and compare JSON — processed privately in your browser.
Your favourites
Recently used
Start from what you are trying to do
- Clean up a messy JSON fileA JSON file that parses, is readable while you work on it, and is small when you ship it.3 steps, starting with JSON Validator
- Work out what changed between two payloadsA precise list of differences, and a JSON Patch that turns the old payload into the new one.4 steps, starting with JSON Compare
- Get nested JSON into a spreadsheetA CSV file that opens cleanly in a spreadsheet, with nested fields as columns.3 steps, starting with JSON Formatter
- Load a JSON export into a databaseINSERT statements you can run against a table.3 steps, starting with JSON Validator
- Generate test data for a fixtureA realistic JSON fixture you can drop into tests.4 steps, starting with Random Test Data Generator
- JSON Structure ComparePaste two JSON documents to compare their structure — keys and value types — while ignoring the actual values.
- JSON FlattenerConvert nested JSON into a flat, single-level object whose keys are the full paths (for example user.address.city).
- JSON UnflattenerRebuild nested JSON from a flat object whose keys are paths (user.name, tags[0]).
- JSON Key ExtractorList every key in a JSON document — as unique key names or as full JSONPath key paths — with optional counts and sorting.
- JSON Empty Value RemoverStrip null values, empty strings, empty objects and empty arrays from JSON — you choose which.
- JSONPath FinderPaste JSON and get the JSONPath expression of every element — browse the interactive tree or the full path list, click any node to copy its path.
- JSON String Escape / UnescapeEscape raw text into JSON string content — or unescape a JSON string back to readable text.
- JSON FormatterPretty-print JSON with your choice of 2-space, 4-space or tab indentation, with optional alphabetical key sorting.
- JSON ValidatorCheck whether text is valid JSON per RFC 8259.
- JSON MinifierStrip all unnecessary whitespace from JSON to its smallest valid form — with an exact before/after size comparison.
- JSON ViewerExplore JSON in a collapsible interactive tree with a type badge on every node — click any value to copy it.
- JSON SorterSort JSON object keys alphabetically (recursively), sort array values, or both — ascending or descending, with object arrays sortable by any key.
- JSON Size CalculatorMeasure a JSON payload: UTF-8 bytes as pasted, minified and formatted, plus structure stats (depth, keys, items) and a ranking of the heaviest top-level members.
- JSON Duplicate Key FinderFind keys defined more than once in the same object — the values your JSON parser silently throws away.
- JSON Key RenamerRename a key everywhere it appears in a JSON document — at any depth, inside arrays too — with an occurrence count and overwrite warnings.
- JSON Property RemoverDelete properties from JSON by name — a comma-separated list, removed at every depth.
- JSON Array to Object ConverterTurn a JSON array into an object — keyed by any property of the elements (id, slug, name) for O(1) lookups, or by numeric index.
- JSON Object to Array ConverterTurn a JSON object into an array — value objects with the key merged in, {key, value} pairs, or plain values.
- JSON CompareCompare two JSON documents value by value: every added, removed and changed value reported with its JSONPath and before/after.
- JSONPath TesterEvaluate a JSONPath expression against your JSON and see exactly what it matches — values and paths.
- JSON Query FilterFilter a JSON array of records by a field condition — equals, contains, greater/less than, exists — without learning a query language.
- JSON MergeMerge two JSON documents — deep recursive merge with array strategies (replace, concat, unique), shallow merge, or RFC 7386 JSON Merge Patch where null deletes a key.
- JSON Patch GeneratorGenerate an RFC 6902 JSON Patch — the add/remove/replace operations that transform document A into document B — ready for HTTP PATCH requests and audit logs.
- JSON Patch ApplierApply an RFC 6902 JSON Patch to a document — all six operations (add, remove, replace, move, copy, test), executed in order with test-failure abort, exactly per the spec.
Frequently asked questions
Is my JSON uploaded anywhere?
No. Every JSON tool here parses and rewrites the document in your browser, so a payload containing customer records, tokens or internal identifiers never leaves your machine. That is what makes these usable on real production data.
Which tool do I need: formatter, validator or viewer?
Use the validator when it will not parse and you need the line and column that broke it. Use the formatter when it parses but is unreadable. Use the viewer when it is readable but too large to hold in your head and you want to collapse branches.
Why does my JSON fail to parse when it looks fine?
The three usual causes are a trailing comma after the last item, single quotes instead of double, and an unescaped newline inside a string. All three are legal in JavaScript object literals and none is legal in JSON, which is why hand-edited files break.
Does formatting or minifying change my data?
No. Both re-serialise the same parsed structure, so every key and value survives byte-identical. The only intentional change either offers is optional alphabetical key sorting, which reorders keys without touching values.
Are large numbers safe?
JSON has one number type and JavaScript parses it as a double, so integers beyond 2^53 lose precision silently. The tools warn when they see numbers long enough for this to bite. If you control the format, send those values as strings.
What is the difference between JSONPath and a query filter?
JSONPath addresses a location in the document and returns what is there. A query filter selects records matching a condition. Use JSONPath to pull one known field out of a deep structure; use a filter to find every record where a field has a given value.
Can I convert JSON to something else?
Yes: CSV, YAML, XML, SQL inserts, TypeScript interfaces, JSON Schema and class definitions for several languages. Conversion is lossy in one direction more often than people expect, so each converter states what it cannot represent.
Working with JSON, minus the friction
JSON (JavaScript Object Notation, standardized as RFC 8259) is the default language of APIs — and most days the job is not writing it but reshaping it: pulling out keys, addressing one deeply nested value, cleaning null padding, or checking whether two payloads share a shape. Each tool here does one of those jobs with a two-panel interface, sample data to try instantly, and precise line-and-column errors when the input is not valid JSON.
Common chains
Understand an unfamiliar payload: extract its keys, then find the JSONPath of the fields you need. Clean before sending: remove empty values, then escape any embedded strings. Reshape for export: flatten, edit, unflatten — or hand the flat result to a converter.