JSON tree viewer
Explore JSON branches, navigate escaped paths, and export precisely the value you select.
How it works & useful details
How it works
Expand branches, choose a value, or enter its JSON Pointer path. Buttons work with Tab and Enter or Space. Export saves exactly the selected value; choose Root to save the full document. The tree shows up to 400 visible rows.
Limits & privacy
Up to 1,000,000 characters, 50,000 values and 64 levels. Live previews pause above 40,000 characters; run the tool to process the full supported input. Imported files must be UTF-8 and under 1 MB. Your data stays on this device.
Numbers use JavaScript decimal precision. Unsupported large integers are rejected; quote identifiers to keep all digits. Duplicate object names keep their last value. Transforms preserve data, not source whitespace or number spelling.
Paths use JSON Pointer: an empty path selects the root, ~0 escapes a tilde, and ~1 escapes a slash.
About this tool
JSON tree viewer lets you explore a large document branch by branch instead of scrolling through thousands of lines. Each node shows its type and summary, and you can select exactly the value you need.
Selected values are exported using escaped JSON Pointer paths, which is helpful when the same viewer is used to build a precise query. Parsing and browsing happen locally.
How to use it
- Paste the JSON document.
- Expand and collapse branches to find the value you need.
- Select a node to see its path and preview.
- Export the selected value or its path.
Worked example
For the document {"a/b":{"x~y":[10,20]}}, the pointer /a~1b/x~0y/1 selects the value 20. In JSON Pointer, / inside a key is escaped as ~1 and ~ as ~0, so even unusual keys have an exact address. Selecting a node in the tree fills in its pointer for you, and entering a pointer jumps to the node.
Exploring large responses
API responses and exported configuration files are often thousands of lines long. Collapsing everything and expanding only the branch you need is faster than scrolling formatted text. Export saves exactly the selected subtree. That is useful for pulling one record out of a large response to use as a test fixture, or for sharing a fragment in a bug report without the rest of the data.
The pointer shown for a node is the same syntax used by JSON Patch, JSON Schema $ref fragments, and OpenAPI references, so you can paste it directly into those documents. The tree displays up to 400 visible rows at once. Expand deeper branches step by step.
Frequently asked questions
How do I identify a deeply nested value?
Select the node and copy its JSON Pointer path, which uniquely identifies the location inside the document.
Does the viewer modify my data?
No. It is read-only; nothing is changed or sent anywhere.
What is the limit?
Up to 1,000,000 characters, 50,000 values, and 64 levels of nesting.
Can I use the keyboard?
Yes. Branch toggles and nodes are buttons, reachable with Tab and activated with Enter or Space.
