Skip to content
epitometool

JSON tree viewer

JSON & data

Explore large JSON as a collapsible tree with key paths and type badges — parse, inspect, and navigate deep structures without uploading anything.

Updated

JSON input

Tree

Click a key to copy its path.

object{} 3 keys
object{} 3 keys
number7
string"Grace"
booleanfalse
array[] 2 items
string"alpha"
string"beta"
object{} 2 keys
string"2024-01-01"
array[] 3 items

Quick start

How to use the JSON tree viewer

Paste JSON, explore the tree, copy any key path — nothing leaves your browser.

  1. Step 1
    Paste JSON

    Drop a JSON document into the input pane; the tree renders live.

  2. Step 2
    Expand and collapse

    Use the arrow toggles to open and close objects and arrays.

  3. Step 3
    Copy a path

    Click any key to copy its full path, ready to paste into code.

In-depth guide

Exploring JSON as a collapsible tree

Raw JSON is hard to read once it nests more than a level or two. A tree view turns it into something you can scan, collapse, and navigate — with type badges that catch the classic "string where I expected a number" bug at a glance. This viewer parses your JSON in the browser and lets you copy the exact path to any value.

What the tree shows

Every node displays its key, a colour-coded type badge, and either its value (for scalars) or a one-line summary like {} 3 keys or [] 5 items for containers. Objects and arrays can be expanded and collapsed independently, and the top two levels are open by default so the overall shape is visible immediately.

When a tree view helps

  • Reading an API response that arrives minified or deeply nested.
  • Finding the path to a value so you can read it in code without counting brackets.
  • Spotting type mistakes — a number rendered as a green string badge stands out.

Step by step

  1. Paste JSON into the input pane; the tree updates as you type.
  2. Use the ▸ / ▾ toggles to expand or collapse objects and arrays.
  3. Click any key to copy its full path (e.g. meta.scores[2]) to the clipboard.
  4. Fix any syntax error flagged below the input to restore the tree.

Common pitfalls

  • JSON is stricter than JavaScript. Trailing commas, single quotes, comments, and unquoted keys are invalid JSON and will be rejected — strip them before pasting.
  • Very large documents render slowly. The whole tree lives in the DOM; for multi-megabyte files expect a pause and keep deep branches collapsed.
  • Paths use dot and bracket notation. Copied paths assume JavaScript-style access; adapt them if your language addresses nested keys differently.

Privacy and how it runs

Parsing and rendering happen with the browser's native JSON parser inside the page — no upload, no logging, no eval. That makes it safe to inspect confidential responses or tokens, and the tool keeps working offline after the first load. Nothing survives closing the tab.

When to use it vs alternatives

Use this tool for quick inspection, cleanup, conversion, and copy-paste debugging. Use your IDE formatter, schema tests, or CI checks when the same rule needs to be enforced across a repository.

Frequently asked questions

Does this JSON viewer upload my data?

No. The JSON is parsed and rendered as a tree entirely in your browser using JSON.parse — there is no server call and no eval. You can inspect sensitive payloads without them leaving the tab; verify in DevTools → Network.

How do I get the path to a value?

Click any key in the tree and its full path is copied to your clipboard — for example user.name or meta.scores[2]. Paste it straight into code that reads the value, such as a lodash get() call or an optional-chaining expression.

Can it handle large JSON files?

It comfortably handles typical API responses and config files. Deeply nested or multi-megabyte documents render more slowly because the whole tree is built in the DOM; nodes start collapsed below the second level to keep things responsive.

What do the coloured badges mean?

Each node shows a type badge: object and array (blue), string (green), number (amber), boolean (purple), and null (grey). The badges make it easy to spot a value that is a string "42" when you expected the number 42, a common API bug.

Why does my JSON show an error?

The viewer uses strict JSON parsing, so trailing commas, single quotes, unquoted keys, and comments are rejected — those are JavaScript object syntax, not JSON. The error message pinpoints the problem so you can fix it.

Does the tree stay expanded as I edit?

The tree re-renders whenever you change the input, with the top two levels expanded by default. Open or collapse any branch with the arrow toggles to focus on the part of the structure you care about.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.