Skip to content
100% local

JSON tree view

Validate JSON and render its structure as an indented tree so a large payload reads at a glance.

Input
Output

JSON tree view

Paste JSON and this tool draws its shape as an indented tree, using the same box-drawing connectors ("├─", "└─", "│") a file explorer or the Unix "tree" command uses. It's built for the moment a formatter alone isn't enough — a deeply nested API response, a config file with dozens of keys, or a payload you've never seen before and need to understand at a glance.

Every object and array node is labelled by its child count instead of a generic type name — "user{5}" for an object with five keys, "items[12]" for an array of twelve — so the size of each branch is visible without expanding it. Scalar leaves show their value, truncated to a length you control so one long string doesn't push the tree off the screen. Turn on "Show types" to annotate each leaf with its JSON type, useful when a field could plausibly hold more than one shape. "Max depth" collapses anything nested deeper than that into a one-line summary, keeping a genuinely deep document readable. "Sort keys" renders each object's keys alphabetically instead of source order, handy for comparing two similar structures by eye.

When the input isn't valid JSON, the tool names the exact line and column where parsing failed, shows that line, and states what to check: a missing comma, an unescaped quote, or a bracket that was never closed. That turns a search through a long payload into a glance at one line.

Everything runs in your browser. The JSON you paste — production config, an API response with real customer data, a payload you're not supposed to share — is parsed and rendered locally and never uploaded anywhere. Copy the tree or download it as a .txt file when you're done.

FAQ

What do the numbers in braces and brackets mean?
They are child counts, not values: "user{5}" is an object with five keys, "items[12]" is an array of twelve elements. It lets you gauge how large a branch is before expanding it.
What happens to nodes deeper than "Max depth"?
They are collapsed into a single summary line showing how many child nodes were hidden, instead of being expanded further. Raise the limit to see deeper into the document.
How are long values shortened?
"Max value length" caps how many characters a scalar value can show before it is cut off with an ellipsis. The cut never lands in the middle of a multi-byte character or an emoji.
What does the error message tell me if my JSON is invalid?
It names the line and column where parsing failed, shows that line, and states the parser's own reason — usually a missing comma, an unescaped quote, or an unclosed bracket right around that point.
Is my JSON uploaded anywhere?
No. Parsing and rendering happen entirely in your browser, and the document never leaves your device — safe for payloads containing tokens, customer data or internal identifiers.