Hunt
Skip to content

JSON Viewer

Paste JSON to explore it as a tree you can expand and collapse. Search keys and values, see how many items each object and array holds, and copy the exact path to any value, as JSONPath or JavaScript.

Runs in your browser

JSON

Paste JSON or press Sample

Tree

The tree will appear here

Select a node to see its path and copy its value.

What this tool does

A large API response is hard to read even when it is formatted: you scroll past hundreds of lines to find one field, then count brackets to work out how to reach it in code. The viewer turns the JSON into a tree, so you can open only the parts you care about and see the structure at a glance.

Select any value to get its path, ready to paste into code (data.orders[0].sku) or a JSONPath query ($.orders[0].sku). Everything runs in your browser, and the tree stays fast with large documents because it only draws the rows on screen.

How to use the JSON Viewer

  1. Paste JSON into the left panel, or press Sample to try an example.
  2. Open and close branches in the tree, or use Expand all and Collapse all.
  3. Type in the search box to find keys or values; the matching branches open automatically.
  4. Select a row to see its JSONPath and JavaScript path, then copy the path or the value.

Examples

Find the path to a value

Input
{"orders":[{"id":"o1","items":[{"sku":"BK-12","qty":2}]}]}
Output
$.orders[0].items[0].sku
data.orders[0].items[0].sku

Search for BK-12 and select the match: the viewer shows both paths, ready to copy.

Keys that aren't valid identifiers

Input
{"user":{"first name":"Ada","1st-login":"2026-11-08"}}
Output
$.user['first name']
data.user["first name"]

Keys with spaces, hyphens or a leading digit use bracket notation, which works in both JSONPath and JavaScript.

Values inside nested arrays

Input
{"matrix":[[1,2],[3,4]]}
Output
$.matrix[1][0]
data.matrix[1][0]

Reading the tree

  • Objects show how many keys they have and arrays how many items, so you can see the size of a section before opening it.
  • Values are shown exactly as written in your JSON: large numbers keep every digit and strings keep their escapes.
  • The first two levels are open when you paste. Use Expand all or Collapse all, or open single branches with the mouse or keyboard.
  • Searching opens every branch that contains a match. Move between matches with the arrows next to the search box.

Keyboard

The tree follows the standard keyboard pattern for trees:

  • Up / Down move between rows; Home / End go to the first and last row.
  • Right opens a closed branch, or moves to its first child; Left closes an open branch, or moves to its parent.
  • Enter or Space opens or closes a branch.

Limitations

  • The viewer shows the JSON; it doesn't edit it. Change the text in the input panel and the tree updates.
  • Search matches text in keys and in string, number, true, false and null values. It does not run JSONPath queries.
  • Strict JSON only. To repair invalid JSON first, use the JSON Fixer.
  • Inputs up to 10 MB are supported. Everything runs in your browser.

Frequently asked questions

Is my JSON sent to a server?

No. The tree is built entirely in your browser. Nothing you paste is uploaded, stored or logged.

What is JSONPath?

A query language for JSON, standardised as RFC 9535. $ is the whole document, .name selects a property and [0] an array item. Many tools accept it, including Kubernetes (kubectl -o jsonpath), Postman tests and most JSON libraries.

Why are some paths written with brackets?

A key with a space, hyphen or leading digit can't follow a dot, so it goes in brackets and quotes: data["first name"] in JavaScript and $['first name'] in JSONPath.

Can it open very large files?

Yes, up to 10 MB. The tree only draws the rows you can see, so scrolling stays smooth. Opening every branch of a very large document at once can take a moment.