JSONPath Evaluator
JSONPath is a query language for JSON, similar to what XPath is for XML. It lets you pull specific values out of a large document — every email address in a user list, all items above a certain price, or a key buried several levels deep — without writing code.
This evaluator runs your expression as you type and shows the matching values immediately, which makes it ideal for building and debugging queries before you use them in code, API gateways, or tools like Postman and Kubernetes (kubectl -o jsonpath).
How to use
- Paste your JSON document into the left panel.
- Type a JSONPath expression into the path field — results update automatically as you type.
- Start every expression with $, which refers to the root of the document.
- Copy the matched result with the Copy button.
JSONPath syntax cheat sheet
$ | The root object |
$.store.name | Child property (dot notation) |
$['store']['name'] | Child property (bracket notation) |
$.users[0] | First element of an array |
$.users[-1:] | Last element of an array |
$.users[0:2] | Array slice — elements 0 and 1 |
$.users[*].email | A field from every array element |
$..id | Recursive descent — every "id" at any depth |
$.items[?(@.price > 10)] | Filter — items whose price is greater than 10 |
$.users[?(@.role == 'admin')] | Filter — users whose role equals "admin" |
Frequently asked questions
- What does @ mean in a filter?
- Inside a filter expression ?( … ), @ refers to the current element being tested. $.items[?(@.stock > 0)] keeps only items whose stock is above zero.
- Why does my expression return an empty result?
- Check that the path starts with $, that property names match exactly (JSONPath is case-sensitive), and that you are using [*] when the value you want sits inside an array.
- Is JSONPath the same as jq?
- No. jq is a separate, more powerful command-line language. JSONPath is simpler and is the syntax used by many libraries, API gateways and kubectl.
Privacy
This tool runs entirely in your browser. The data you paste or open is processed locally and is never uploaded to or stored on our servers.