JSONPath Tester
Query a JSON document with a JSONPath expression and see the matching values. Supports a documented subset (root, child, index, wildcard, recursive descent, slices, simple filters). Nothing is uploaded — the query runs locally.
Reading JSON with JSONPath
JSONPath is a query language for JSON, the way XPath is for XML. A query starts at the root $ and walks the document: .name selects a child, [0] an array element, [*] everything at that level, .. searches at any depth, [start:end] takes a slice, and [?(@.x == y)] keeps array items that pass a comparison. This tester supports that subset and states the boundary: script expressions and function extensions are out of scope. Parse errors and unsupported syntax are reported instead of guessed. Pretty-print the document first with the JSON formatter, and compare two documents with the JSON diff tool (on the tools hub).
Frequently asked questions
Which JSONPath syntax is supported?
The root $, child access with .name or ['name'], array index [0], wildcard [*], recursive descent .., array slices [start:end], and simple filters [?(x == y)].
What is not supported?
Script expressions [(...)] and function extensions are out of scope. Filters are limited to simple comparisons on one property, so the behaviour stays predictable.
What does recursive descent do?
The .. operator searches at every depth below the current node, so $..author finds every author value anywhere in the document.
Can I filter an array of objects?
Yes. A filter such as $[?(@.price > 10)] keeps the array elements whose price property passes the comparison.
Is my JSON uploaded anywhere?
No. The document is parsed and queried in your browser. Nothing is uploaded.
Does it validate my JSON?
It parses the JSON first, so invalid JSON is reported before the query runs; for a full formatting and validation view use the JSON formatter.