JSONPath Tester
Test JSONPath expressions against sample JSON with live match counts and per-node copy.
Free & unlimited
Mode
Samples
JSONPath expression
4 matches
JSON input
Matches
$.store.book[0].author
"Nigel Rees"
$.store.book[1].author
"Evelyn Waugh"
$.store.book[2].author
"Herman Melville"
$.store.book[3].author
"J. R. R. Tolkien"
All processing happens in your browser. No data is sent to any server.
About this tool
- 1
Paste JSON data
Paste or upload the JSON document you want to query.
- 2
Write a JSONPath expression
Enter a JSONPath query like $.store.book[*].author in the query field.
- 3
View matched results
Matching nodes are highlighted in the JSON tree and listed in the results panel.
- 4
Iterate and refine
Adjust your query and see results update in real time until you get the exact match.
- Use $.store.book[?(@.price < 10)] to filter array items by a condition.
- The recursive descent operator .. searches all levels: $..author finds every author field.
- Array slicing works like Python: $[0:3] returns the first three elements.
- Wrap string comparisons in single quotes: [?(@.status == 'active')].
- Real-time JSONPath query evaluation as you type
- Interactive JSON tree with matched nodes highlighted
- Supports standard JSONPath syntax including filters, slices, and recursive descent
- Query history for quick access to previous expressions
- Displays match count and extracted values in a results panel
- Test JSONPath expressions before using them in code or API integrations
- Extract specific data points from large JSON API responses
- Debug JSONPath filters that are not returning expected results
- Learn JSONPath syntax with immediate visual feedback on real data
JSONPath uses dot notation ($.store.book) and is common in Java/.NET ecosystems. jq uses pipe-based syntax and is a standalone CLI tool popular in shell scripting.
Yes. Use [?(@.field == value)] syntax to filter arrays by field values, including comparisons like <, >, and regex matches.
Yes. Use recursive descent ($..items) to match at any depth, or chain array accessors like $.data[0].items[*].name.