JSON Path Explorer

Paste JSON, write a JSONPath expression and see every match with the exact path to it. Click any key in the tree to build the path for that value. Everything runs in the page.

JSON

JSONPath

Tree

About this tool

A JSONPath workbench. Paste a JSON document, type an expression such as $..author or $.store.book[?(@.price < 10)].title, and the page lists every match with the exact path that reaches it. The tree below the editor shows the whole document: click any key to load that value's path into the expression box, which is the quickest way to learn the syntax. The JSONPath engine is vendored and runs entirely in the page.

Questions

What does a JSONPath expression look like?
It starts at the root with $, then walks the document. A dot reads a key ($.store), a bracket reads an index or a quoted key ($.store.book[0], $['a key']), [*] is every item, .. searches at any depth, and [?(@.price < 10)] filters. You can mix them, for example $..book[?(@.price < 10)].title.
Why does clicking a key change my expression?
That is the explorer part: each key in the tree carries the path that reaches it, and clicking it loads that path so you can see it work, then extend it by hand. It is a way to build a long path without counting brackets.
Are filters and recursive search supported?
Yes. The vendored engine supports recursive descent (..), wildcards ([*]), array and object unions, slices ([1:3]), and filter expressions with comparisons such as ==, !=, <, <=, > and >=. If an expression is not valid, the status line says so rather than showing a wrong result.
What does the path in the results mean?
It is the canonical JSONPath that reaches that match, always written with brackets. It is useful when you want to copy one exact location out of a large document, or reuse it in another tool that takes a JSONPath.
Is my JSON uploaded?
No. Parsing, matching and the tree all run in your browser, and nothing is sent to a server.