JSONPath Tester & Query Explorer
Explore a JSON document with a path expression rather than manually scanning nested arrays. Switch between matched values, JSONPath locations and JSON Pointer locations, with explicit filter and result limits.
Browser-based · No account required · Copy and export
Your workspace
Developer toolsHow to use JSONPath Tester & Query Explorer
- Paste or load valid JSON and enter a JSONPath expression for its structure.
- Choose values, paths or pointers and set the maximum returned results. The sample filter demonstrates a property comparison.
- Evaluate in a worker, inspect the displayed results and copy either the expression or the JSON result.
When to use this tool
Explore a response payload and verify which values a JSONPath expression selects. Compare returned values with paths or pointers before copying a query into another implementation.
Read-only filters keep expressions constrained
Property selections, array indexes, recursive selection and supported filters are evaluated by JSONPath Plus. This tool's filter interpreter accepts literal property access, comparisons and logical operators rather than executing arbitrary JavaScript. A result limit truncates returned matches after evaluation; it does not make every large query cheap or bypass the worker deadline.
Worked example
$.store.book[*].title
$.store.book[?(@.price > 30)].title
$..price
The sample JSON contains store.book entries with title and price properties. Find matching values and trace them back to source locations
Original JSON practice input
[{"id":"A1","quantity":0},{"id":"B2","quantity":3}] Use $[?(@.quantity > 0)].id to inspect IDs on records with a positive quantity. For this input, the expected matched value is B2; its JSON Pointer location is /1/id.
- Load the authored JSON and enter the expression. Evaluate in Matched values mode to inspect the selected content.
- Switch to paths or JSON pointers when you need to trace each match to its source location. A value result alone does not identify every enclosing record.
- Choose a result limit appropriate to review. If the returned list reaches that limit, do not assume it contains every match; truncation happens after evaluation.
- Check errors separately from an empty result. A valid expression can match nothing, while a parse error or worker deadline does not establish absence of matching records.
- Copy or download the reviewed result. The query is read-only and does not update the source JSON.
Authored query and expected match, not a newly executed result. Filters use the supported bounded interpreter, not arbitrary JavaScript functions. Use JSON Schema Validator to validate record constraints; JSONPath selection is a different task.
Limits and output checks
Function calls, assignments and arbitrary JavaScript filter expressions are not supported. JSONPath dialects vary across implementations. Input numbers use the shared safe-number guard. Up to the configured number of results is returned; a full-limit list may represent more matches than are shown.
Reference: JSONPath Plus documentation.
Frequently asked questions
Can a filter run JavaScript functions?
No. The bounded interpreter supports read-only value/property comparisons and logical operators, not native eval or function calls.
Does an empty array mean the JSON is invalid?
Not necessarily. A valid expression can match no values. Input parsing and expression errors are reported separately.
What is the result limit for?
It bounds the displayed and exported list after evaluation. It does not replace the text-size or execution-time limits.
Query a supported JSONPath dialect
Load JSON, enter a supported read-only expression and inspect returned values and limits. Separate input errors from a successful query with no matches.
Scope of this workflow
The interpreter does not execute arbitrary JavaScript filters or function calls. A result limit can truncate a larger matching set.
JSON Schema Validator - Draft-07 Instance Checks · All developer tools · Privacy policy · Contact PixelOkay