JSONPath Tester
test JSONPath expressions against JSON data in real time
By Bikram NathLast updated
JSONPath Tester evaluates expressions like `$.store.book[?(@.price < 10)].title` against live JSON and shows matching nodes instantly. It's the fastest way to verify a filter predicate before wiring it into a data pipeline or API client. Unlike jq, it uses the browser's JavaScript runtime to evaluate standard JSONPath syntax, so what you test here matches what most JS libraries return.
Try it now — free, instant, no signup
What is JSONPath Tester?
JSONPath Tester parses a JSON document and evaluates a JSONPath expression against it, returning the matched nodes in real time. Paste in an API response, type `$.users[*].email`, and you immediately see every email address extracted from the array rather than counting brackets manually or writing a throwaway script.
Developers reach for this when they are working with a JSONPath-aware library like Jayway (Java), jsonpath-ng (Python), or the `jsonpath` npm package, and need to validate expressions before embedding them in code. jq is the command-line alternative for the same job, but jq uses its own filter syntax that differs from JSONPath, so a jq filter you test locally may not translate directly to a library expecting RFC 9535-style JSONPath.
One gotcha worth knowing: the recursive descent operator `..` behaves differently across JSONPath implementations. The expression `$..price` will match all `price` keys at every depth in most libraries, but some older implementations skip keys inside arrays. If your library is Goessner's original 2007 spec rather than the 2024 RFC 9535 standard, results for filter expressions using `?(...)` syntax may diverge from what this tester shows.