JSONPath Online Tester
Write a JSONPath expression, see the matched nodes instantly. Supports recursive descent (..), filters (?(@.price < 10)), array slices ([0:2]), and wildcards ([*]) — all running locally in your browser.
How to use this tool
Paste your JSON into the input on the left.
Type a JSONPath expression in the box below. Matched values appear on the right as you run.
Try the example chips to see common patterns: $..price returns every price anywhere in the document; $.store.book[?(@.price < 10)] filters books cheaper than 10.
JSONPath is widely used in REST API clients (RestAssured, Karate), monitoring tools, and configuration systems to select nodes from JSON without writing a full parser.
For more powerful transformations (mapping, arithmetic, string formatting), use our jq playground.
Frequently asked questions
Which JSONPath dialect is supported?
We use JSONPath Plus, which implements the de facto Goessner JSONPath spec plus common extensions: filter expressions, script expressions, and array slices. This covers virtually every JSONPath example you will find in the wild.
How do filter expressions work?
Use [?(@.field <operator> value)] inside a path. For example, $.users[?(@.age >= 18)] returns adult users. The @ refers to the current node. Supports ==, !=, <, <=, >, >= and =~ (regex).
What does the double-dot (..) mean?
Recursive descent — it searches the entire subtree. $..title finds every title at any depth in the document.
JSONPath vs jq — which should I use?
Use JSONPath for selecting nodes. Use jq when you also need to transform them (map, reduce, format strings, arithmetic). This page covers JSONPath; our jq playground covers jq.
Is the data uploaded?
No. Evaluation runs entirely in your browser.