JSON Workspace
Paste a document once and run every common JSON operation against it — format, validate, repair, minify, sort, query, diff, generate a schema, convert or generate code — without leaving the page.
Parse and re-print with your chosen indentation. Open the dedicated page for the full option set and documentation.
Input
0 BNo operation has run yet.
Three ways to read the same document
Code
Syntax highlighting, line numbers, bracket matching, folding, find and replace, undo history and an error line marker. This is the view for editing and for copying a result out.
Tree
A collapsible outline with the type, array length and key count of every node. Search jumps between matches, and any node’s JSONPath, value or whole subtree can be copied or downloaded on its own.
Table
An array of objects rendered as sortable, filterable rows, with nested objects flattened into dotted columns, columns you can hide, paging, and CSV or TSV export.
Every operation, and the page behind it
The workspace is a faster route to tools that already exist — not a replacement for them. Each dedicated page carries the complete option set, worked examples and the documentation for that specific job.
- Format — Parse and re-print with your chosen indentation.
- Beautify — Expand a minified document to four-space indentation.
- Minify — Strip all insignificant whitespace.
- Validate — Report syntax errors with line, column and a suggested fix.
- Repair — Rebuild strict JSON from almost-JSON, listing every change.
- Sort keys — Alphabetise every object recursively for stable diffs.
- Escape — Escape the text so it can sit inside a JSON string.
- Unescape — Decode an escaped JSON string fragment back to raw text.
- Stringify — Wrap the whole document in a JSON string literal.
- Parse — Decode a JSON string literal back into a document.
- Generate schema — Infer a JSON Schema from this sample.
- Validate against schema — Paste a JSON Schema on the right; failures are reported as paths into the document.
- Query — Search with JSONPath, or evaluate a JMESPath expression.
- Compare — Structurally diff this document against a second one.
Keyboard
- Ctrl/Cmd + Enter — run the current operation
- Ctrl/Cmd + Shift + C — copy the result
- Ctrl/Cmd + F — find inside the editor
- Ctrl/Cmd + K — open tool search from anywhere
- Tab indents inside the editor; Shift + Tab moves focus out, so keyboard users are never trapped
Frequently asked questions
How is the workspace different from the individual tool pages?
It is the same engines behind one document. On a tool page you paste, run one operation and, if you need a second, you navigate and paste again. In the workspace you paste once and switch operations from a dropdown. Every operation still has its own page, because those pages carry the full option set and the documentation for that specific job.
Does the workspace upload my document?
No. Parsing, formatting, validation, diffing, schema inference and code generation all run in JavaScript inside your tab. The one exception is the "From URL" button, which makes a request from your browser directly to the address you type — that request goes to that server, not to us, and it only happens when you click Fetch.
Is anything saved between visits?
Not unless you ask. "Keep a draft in this tab" is off by default; turning it on stores the current document in session storage, which your browser discards when the tab closes. Nothing is written to local storage, and no document text is ever included in an analytics event.
Why do Tree and Table switch off for very large files?
Because rendering a few hundred thousand DOM nodes will freeze the tab, and a frozen tab is worse than a missing view. Above 8 MB the workspace keeps Code and Raw views and every operation, and says so rather than silently degrading.
What does Table view need?
An array of objects, or an object whose values are all objects. Nested objects become dotted columns such as address.city; arrays stay as their JSON text, because flattening an array into columns would invent a structure the document does not have.