Skip to content

JSONPath Finder

Type a JSONPath expression and instantly see the values it selects in your JSON, together with the normalized path of each match.

Processed locally in your browser

Options

Supports $ .key ['key'] [0] [-1] [*] .. [1:3] and filters [?(@.price < 10 && @.x == 'a')]

0 chars · 0 lines
The result will appear here.

What is JSONPath Finder?

JSONPath is a query language for JSON, similar to XPath for XML. An expression such as $.store.book[?(@.price < 10)].title walks the document and returns every value that matches, which is handy for extracting fields from API responses or writing assertions in tests.

This tool has its own evaluator, written without eval or dynamic code execution. It supports $, .key, ['key'], [n], negative indexes, [*], recursive descent (..), unions, slices [start:end:step] and filters with comparisons, && , || , ! and parentheses. Results are shown as a JSON array and as a list of normalized paths such as $['store']['book'][0]['title'].

How does it work?

  1. Paste your JSON document in the input box.
  2. Type a JSONPath in the expression field, for example $..author or $.items[?(@.qty > 1)].sku.
  3. Read the matches (as JSON) and the list of paths that were matched.
  4. Refine the expression until it selects exactly what you need, then copy the result.

Common use cases

  • Extracting one field from every element of a large API response.
  • Prototyping a JSONPath before using it in Postman, a REST assertion or a Kubernetes query.
  • Finding the exact path of a value that appears somewhere deep in a document.
  • Filtering records by price, status or tag without writing a script.

Examples

Try this input in the tool above:

Input
{"store":{"book":[{"title":"Sayings of the Century","author":"Nigel Rees","price":8.95,"category":"reference"},{"title":"Sword of Honour","author":"Evelyn Waugh","price":12.99,"category":"fiction"},{"title":"Moby Dick","author":"Herman Melville","price":8.99,"category":"fiction"}],"bicycle":{"color":"red","price":19.95}}}
Output
[
  "Moby Dick"
]

Privacy

JSONPath Finder runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.

Limitations

This is a practical JSONPath subset: script expressions, regex matching and nested filters are not supported, and behaviour on edge cases can differ from other implementations.

Frequently asked questions

Which JSONPath syntax is supported?

Root $, dot and bracket child access, [n] and [-n] indexes, [*] and .* wildcards, .. recursive descent, unions like [0,2] or ['a','b'], slices, and filters such as [?(@.price < 10 && @.category == 'fiction')] with ==, !=, <, <=, >, >=.

Is it safe to type any expression?

Yes. The expression is parsed by a hand-written parser and evaluated by plain code: nothing is passed to eval, so a malicious expression cannot run code. Prototype keys such as __proto__ or constructor are never followed.

What does a filter with only @.isbn do?

A path used alone inside a filter is an existence test: elements that have an isbn property are kept, the others are dropped.

More tools in JSON & Data →