JSON tree viewer

Paste JSON and explore it as a tree instead of scrolling through braces. Open and close objects and arrays, search for a key or a value, and click any node to get its JavaScript path (like $.orders[0].sku), its JSON Pointer and its value.

Nodes: 19

Selected node

Click a node in the tree to see its path and value.

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Paste JSON into the box. The tree appears at once; a syntax error shows the line and column.
  2. Click ▸ and ▾ to open and close objects and arrays, or use Expand all and Collapse all.
  3. Type in the search box to outline every key or value that contains the text.
  4. Click a node to see its JavaScript path, JSON Pointer and value, each with a copy button.

How it works

Each line of the tree is one node: its key (or index in an array), then the value. Objects show the number of keys and arrays the number of items, so you can see the size of a branch before opening it. Strings are shown with their quotes, as in JSON.

Paths are built from the keys on the way down from the root. A key that is a valid JavaScript name is written with a dot (.customer); any other key goes in brackets with quotes ([“first-name”]), and array items use their index ([0]).

Worked example

In the sample order, open items, then the first item, and click sku. The tool shows:

  • JavaScript path: $.items[0].sku
  • JSON Pointer: /items/0/sku
  • Value: "A-1"

Searching for true outlines customer.vip, and searching for gift outlines the first item of tags.

Tips

  • Use the JSON Pointer in JSON Patch operations and in $ref of JSON Schema; use the JavaScript path in code or in JSONPath-style tools.
  • If you need to reshape the data, format it with the JSON formatter or flatten it with the JSON flattener.
  • Collapse all, then open only the branch you are working on: long arrays are easier to read that way.

Frequently asked questions

What is the difference between the JavaScript path and the JSON Pointer?

The JavaScript path is what you write in code: $.items[0].sku, with keys that are not plain names in brackets, like $["first-name"]. A JSON Pointer (RFC 6901) is the standard string used by JSON Patch and JSON Schema: /items/0/sku, where ~ in a key is written ~0 and / is written ~1. The root's pointer is an empty string.

What does the search look at?

Keys and the values of strings, numbers, true, false and null, ignoring upper and lower case. Every match is outlined and its parent nodes are opened so you can see it.

Why does a large document open only two levels?

Documents with up to 300 nodes open fully; larger ones open two levels so the page stays fast. Use Expand all when you need everything. The tree shows at most 3,000 rows at a time.

Is my JSON sent anywhere?

No. Parsing and the tree are done by JavaScript in your browser; nothing is uploaded.

Are big numbers shown exactly?

Numbers are read as JavaScript numbers, so integers above 9,007,199,254,740,991 lose precision, as in JSON.parse. Keep such IDs as strings if they must be exact.

More in Developer

All tools in this category: Developer ·Updated November 4, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.