JSON Tree Viewer

Live parse. Search across keys and values. Expand or collapse the whole tree. Client-side.

Interactive tree view for JSON. Paste JSON, get a live tree with search and expand controls. Nothing sent to a server. How to use ↓·Shortcuts ↓
Paste JSON, get a live interactive tree.
Search:
Samples:
JSON Input
Tree View
Tree will appear here.
Input: 0 bytesKeys: 0Max depth: 0

How to use

Paste JSON into the left pane. The tree appears on the right as you type (200ms debounce).

Click any object or array node to expand or collapse it. Use the two arrow buttons in the top-right to expand or collapse the whole tree. Type in the Search box to highlight matching keys and values and dim everything else.

Copy the whole tree as formatted JSON via the Copy button, or download as data.json.

Keyboard shortcuts

Two shortcuts:

Cmd / Ctrl + KFocus the input pane
Cmd / Ctrl + EnterCopy the formatted JSON to clipboard

When to use it

Tree view beats reading raw JSON when the structure is deep, wide, or unfamiliar.

  • Exploring an API response before writing code against it.
  • Inspecting a config file with many nested sections.
  • Debugging a data payload where you need to spot a specific value fast.
  • Comparing shape between two responses without eyeballing indentation.

Options

Search — type in any key or value fragment. Matching nodes are highlighted, non-matching subtrees dim to 25% opacity. Empty search restores full view.

Expand all — opens every object and array in the tree.

Collapse all — folds everything back down to the root.

Individual node clicks always work — regardless of the expand/collapse-all state.

Format-specific gotchas

Node paths are collision-free. A key named id inside users[0] and another id inside orders[3] track independently — this tool uses full paths like root.users.0.id, not just key names.

Very large inputs may lag. The parse is debounced 200ms, but rendering a huge tree (tens of thousands of nodes) still takes work. For massive structures, collapse before searching.

Strict JSON only. The tool uses JSON.parse, so trailing commas, comments, and unquoted keys are rejected. If your input is loose JS-object syntax, run it through JSON ↔ JS Converter first.

Privacy

Everything runs in your browser. Your JSON never leaves the page — no server, no logging, no analytics on the content.

Frequently asked questions

What is a JSON tree viewer?
A tool that renders JSON as a collapsible hierarchical tree instead of raw text. It makes deep or wide structures easier to explore, search, and understand.
Does it work on huge JSON files?
It handles typical API responses and configs comfortably. Very large payloads (tens of thousands of nodes) may lag on expand-all — keep sections collapsed while searching.
Can I use unquoted keys or trailing commas?
No. This tool uses strict JSON.parse. For loose JS-object input, run it through the JSON ↔ JS Converter first.
What does Search actually do?
Any node whose key or primitive value contains your search text is highlighted. Non-matching subtrees dim. Full-text search over keys and values, case-insensitive.
Does Copy copy the tree or the JSON?
The parsed JSON, re-formatted with 2-space indentation. If you want the original input verbatim, copy it from the input pane.
Does the tool send my data anywhere?
No. All parsing and rendering happens in your browser. The input never leaves the page.