Developer tools · free · no signup

JSONPath Tester & Evaluator

Evaluate JSONPath expressions in real time, extract matched nodes, and inspect structured data locally. Your work stays on this device whenever possible.

Free to useNo accountClear results
Preparing tool…
Simple, transparent workflow

How to use JSONPath Tester & Evaluator

  1. Pick a "Sample Dataset" (Bookstore, E-Commerce Orders & Items or GeoJSON Parks & Points), or paste your own into "JSON Input Data" and watch the badge above it change between valid and an error.
  2. Tidy the input with "Format (2 sp)", "Format (4 sp)", "Minify" or "Clear".
  3. Click any node in the "Interactive Path Generator" tree to write its path into "JSONPath Expression", or type one such as $..book[?(@.price < 10)].
  4. Press "Evaluate", read the match-count badge and the evaluation time, and use the Syntax Quick-Insert chips for $, ..*, [*], [0], [-1:] and two filters.
  5. Switch the results between "Values Only (JSON)", "Paths & Values Table" and "Normalized Paths Only", then use "Copy Output" or "Download .json".

Worked example

Load the Bookstore dataset and evaluate the default $..book[?(@.price < 10)]. The badge shows 2 matches: Sayings of the Century at 8.95 and Moby Dick at 8.99. Switching to "Normalized Paths Only" lists $.bookstore.store.book[0] and $.bookstore.store.book[2]. Changing the filter to [?(@.isbn)] returns the two books that carry an isbn field.

When to use this tool

  • Working out the exact path for one field inside a deeply nested API response.
  • Testing a filter expression before putting it in a monitoring or ETL configuration.
  • Extracting all coordinates from a GeoJSON sample.

Important limitations

Supports standard JSONPath syntax expressions including recursive descent, slices, wildcards, and comparison filters. Complex non-standard script execution blocks (such as arbitrary JavaScript eval) are sandboxed for security.

Comparing alternatives

Other options for jsonpath tester & evaluator include JSONPath.com, Curious Concept, JSONFormatter, CodeBeautify.

ToolkitPoint is not affiliated with those services.

Frequently asked questions

Which JSONPath features are supported?

The root $, dot and bracket child access, .. recursive descent, * wildcards, comma lists of indexes or keys, slices like [-1:] and [0:2], and simple filters. Script expressions, functions such as length(), and parent or property-name operators are not implemented.

What can a filter do?

One comparison against a direct property, such as [?(@.price < 10)] or [?(@.category == 'fiction')], or an existence test like [?(@.isbn)]. Combining conditions with && or ||, nested paths such as @.a.b and regular expressions are unsupported.

How do I address keys with dots or spaces?

Dot notation accepts letters, digits, underscores and hyphens only. For anything else use brackets, for example $['first name'], and clicking a tree node writes bracket notation for such keys automatically.

Does it follow a formal standard?

It is a compact evaluator based on the original informal JSONPath syntax, not a full implementation of the later IETF specification, so edge cases like result ordering for unions may differ from other libraries.

What does zero matches mean?

Either nothing matched or the expression uses a form this evaluator does not understand. Plain syntax errors, like a missing $ or a stray token, throw a message, but some unsupported filter shapes quietly return nothing.