JSON Tools
Make sense of any JSON: format it, check it against a schema, search it as a tree, crunch the numbers, and convert it to whatever format you need. Learn more
JSON Array Group-By/Aggregate Tool
Group a JSON array by any field and sum, average, count, min or max another field per group
JSON Array Statistics
Min/max/average/sum for a numeric field.
JSON Array ⇄ JSONL (NDJSON) Converter
Convert a JSON array to line-delimited JSONL/NDJSON, or back again, in either direction
JSON Deep Merge
Recursively combine two objects.
JSON Diff
Compare two JSON documents key by key.
JSON Duplicate Key Finder
Catch duplicate keys in raw JSON text before JSON.parse silently drops them
JSON Flatten/Unflatten
Nested keys ↔ dot notation.
JSON Formatter/Beautifier
Clean, readable indentation for messy JSON.
JSON Key Renamer
Rename object keys everywhere in a nested JSON structure, without ever touching values
JSON Minifier
Strip all whitespace to shrink JSON.
JSON Redactor
Mask sensitive keys before sharing.
JSON Schema Validator
Validate data against types, required fields, ranges and patterns.
JSON Size/Depth Analyzer
Size, depth, key and type counts.
JSON Sort Keys
Alphabetise keys, recursively.
JSON String Escape/Unescape
Escape text for a JSON string, or unescape it.
JSON to Go/Python/Rust Struct
Struct or dataclass from a sample.
JSON to Markdown/HTML Table
Array of objects, turned into a table.
JSON to TypeScript
Generate a TypeScript interface from JSON.
JSON Tree Viewer
Browse and search JSON as a collapsible tree.
JSON Validator
Check whether JSON is valid, with a clear error.
JSON ↔ CSV Converter
Array of objects to CSV, or CSV back to JSON.
JSON ↔ Query String
Flat objects to/from URL params.
JSON ↔ XML Converter
Convert JSON to XML, or XML back to JSON.
JSON ↔ YAML Converter
Convert JSON to YAML, or YAML back to JSON.
JSONL Formatter & Validator
One JSON value per line, error-checked.
JSONPath Tester
Try JSONPath-style expressions against your data.
Mock JSON Generator
Random test records from a sample shape.
Everything you need to read, fix and transform JSON
JSON is the language of APIs, config files and app data. When you're working with it, the right tool saves real time. Paste a messy response into the JSON Formatter to make it readable, or the JSON Validator to find out exactly which line and column is broken. For big payloads, the Tree Viewer lets you fold away branches and search for a key or value. The Size Analyzer shows how deep and heavy a document really is.
Moving data between systems? Convert JSON to and from CSV for spreadsheets, YAML for config files, XML for older services, JSON Lines for logs and data pipelines, and URL query strings. Need a table for documentation? JSON to Table produces Markdown or HTML in one step.
For reshaping data, there's Flatten/Unflatten, Deep Merge, Key Renamer and Sort Keys. To understand data, use the Group-By/Aggregate tool and Array Statistics, which give you quick totals and averages without opening a spreadsheet, and the JSONPath Tester to pull out exactly the values you need. JSON Diff shows what changed between two versions, down to a single item in a list.
Developers can turn a sample response straight into TypeScript interfaces or Go, Python and Rust types, check data against a JSON Schema, and create test data with the Mock JSON Generator. Before you paste a payload into a ticket or chat, the JSON Redactor masks passwords and tokens. Everything runs in your browser, so API keys and customer data stay on your machine.
Questions and answers
- What's the difference between the JSON Validator and the JSON Schema Validator?
- The JSON Validator checks syntax: is this valid JSON at all, and if not, which line and column is wrong (a missing comma, a stray quote)? The JSON Schema Validator assumes the JSON is already valid and checks its content against rules you define, such as required fields, types, number ranges and allowed values. Use the first when something won't parse and the second when it parses but might contain the wrong data.
- Should I use JSON Diff or JSON Sort Keys to compare two files?
- JSON Diff compares the data itself, key by key and array item by item, and ignores key order, so it's usually all you need. Sort Keys is useful when you want to compare files in a general-purpose text diff tool or in version control. Sorting both files first means a reordered key doesn't show up as a change.
- JSON to TypeScript or JSON to Go/Python/Rust Struct: what's the difference?
- They do the same job for different languages. Both look at every item in your sample, not just the first, so a field that's sometimes missing or null is marked optional. JSON to TypeScript writes interfaces and union types. The Struct generator writes Go structs with json tags, Python dataclasses, or Rust structs ready for serde, renaming keys that aren't valid identifiers in that language.
- When should I use JSON Lines (JSONL) instead of a normal JSON array?
- Use JSON Lines when data is written or read one record at a time, as in log files, data exports and machine-learning datasets. Each line is a complete JSON value, so a file can be appended to and processed line by line without loading it all. A normal array suits API responses and config. The Array ⇄ JSONL Converter switches between the two, and the JSONL Formatter checks every line and reports broken ones by line number.
- Why does the Group-By tool give a different total from Array Statistics?
- Array Statistics only offers fields where every item has a number, and works on the whole array. The Group-By tool splits the array into groups first, then totals each group. It skips missing or non-numeric values (and tells you how many) but still counts those items in each group. If an item lacks the field you chose, the two tools won't match, and the Group-By tool's skipped count shows why.