JSONPath cheat sheet
$the root ·@the current item inside a filter$.a.bor$['a']['b']child access$..nameeveryname, at any depth$.items[*]every item ·$.items[0]first ·$.items[-1]last$.items[0:3]slice ·$.items[0,2]union$.items[?(@.price > 10 && @.stock)]filter
How to use JSONPath Tester
- Paste your JSON on the left.
- Type a JSONPath such as
$.data[*].id, or click an example. - Switch between Values and Paths to see what matched and where.
- Copy the results or a single path.
Private by design
JSONPath Tester runs entirely in your browser. Your data is parsed and converted on your device with JavaScript — it is never sent to a server, logged or used for analytics. Recent inputs are kept in your browser’s own storage so you can come back to them, and they disappear when you clear cookies and site data (or press Clear history). You can verify this in your browser’s network tab.
Frequently asked questions
Which JSONPath syntax is supported?
The standard operators: $ root, . and [] child access, .. recursive descent, * wildcard, [0], [-1], [0:3] slices, [0,2] unions and [?(@.price < 10)] filter expressions with comparison and logical operators.
Is it safe to run filter expressions?
Yes. Filters run in a sandboxed expression evaluator — arbitrary JavaScript is not executed — and everything stays inside your browser tab.
Can I see where each match came from?
Yes. Switch to the Paths view to see the exact path of every match next to its value, ready to copy into code or a Postman test.
Does JSONPath work in Postman tests?
Postman supports JSONPath-like access through scripts. Use this tool to work out the expression, then copy the path of the match you want.