What is a JSONPath tester?
A JSONPath tester lets you write a JSONPath expression and instantly see which values it selects from a JSON document: the fastest way to build and debug a path before using it in code, a config, or an API filter. Paste your JSON, try an expression, and refine it live. Everything runs in your browser, so real payloads (often with tokens or personal data) never leave your machine.
JSONPath cheatsheet
| Expression | Meaning |
|---|---|
$ | The root element |
$.a.b | Child: b inside a |
$.a[0] | First element of array a |
$.a[*] | Every element of a |
$..email | Every email at any depth |
$.a[?(@.x > 1)] | Elements where x > 1 |
How to use
- Paste JSON into the JSON pane on the left.
- Type a JSONPath expression in the JSONPath box, e.g.
$.store.users[*].email. - Matches update live as you type; results show as a JSON array of the values found.
- An empty expression returns the whole document; an invalid one shows the error.
- Runs 100% in your browser (jsonpath-plus); nothing is uploaded.
Examples
Select a field from every array element
$.store.users[*].email
[ "[email protected]", "[email protected]" ]
Filter with a predicate
$.store.users[?(@.roles.indexOf('admin') > -1)].name[ "Ada" ]
Recursive descent: every 'email' anywhere
[ "[email protected]", "[email protected]" ]
FAQ
What is JSONPath?
JSONPath is a query language for JSON, like XPath is for XML. Expressions start with $ (the root) and drill in with .key, [index], wildcards [*], recursive descent .., and filters [?(...)]. This tester evaluates them live against your JSON.
What syntax does it support?
It's backed by jsonpath-plus, which supports the common JSONPath operators: child and recursive descent, array slices, wildcards, unions, and filter expressions with @ referring to the current node.
How do I select all items in an array?
Use a wildcard: $.users[*] returns every element; $.users[*].name returns each element's name. $.users[0] returns just the first.
How do filters work?
A filter [?(expression)] keeps elements where the expression is true, with @ as the current item, e.g. $.users[?(@.age > 18)]. Use it to find matching objects without scrolling.
Is my JSON uploaded?
No. Evaluation runs entirely in your browser. Open DevTools → Network: zero requests after load.