Data / LOCAL TOOL

JSONPath Tester

Evaluate JSONPath expressions against local JSON and inspect every matched path and value.

Runs locally — input is never uploaded
Document to query
JSONPath Plus syntax
MatchesReady when you are

WHAT IT DOES

Follow a JSONPath to every value it selects.

Paste a JSON document and evaluate a JSONPath Plus expression against it in the browser. Every match is returned with its bracket-notation path, JSON Pointer, and complete value, so an expression can be checked against the real shape of an API response or configuration file before it is placed in code. Filter expressions use the library's CSP-safe evaluator and the document is never executed as JavaScript.

Why use it?

Use it to verify the location and number of values selected from nested JSON before putting a JSONPath expression into a data pipeline.

How to use this tool

  1. Paste the JSON document and enter an expression, or load the built-in example.
  2. Test a selector such as $.items[*].id against an object with an items array, then inspect each matched path and value.
  3. Distinguish zero matches from an invalid expression. Confirm that the receiving system uses compatible JSONPath syntax; this tool uses JSONPath Plus.

Details and limitations

  • The supported dialect is JSONPath Plus, including child selectors, recursive descent, wildcards, slices, unions, and safe filter expressions.
  • Results preserve document order and identify each value with both JSONPath bracket notation and an RFC 6901 JSON Pointer.
  • Empty results are reported as zero matches rather than treated as an invalid expression.
  • Local .json files up to 10 MiB can be dropped into the document pane.

WORKED EXAMPLES

Check which records actually contain a field

Select ids from a list containing one record without an id. Inspect each returned path rather than assuming the number of matches equals the number of records.

Document

{"items":[{"id":"a"},{"name":"missing id"},{"id":"c"}]}

Expression

$.items[*].id

Expected result

Two matches: a at /items/0/id and c at /items/2/id. The middle record is not given an invented null id; zero or missing selections require their own application decision.

COMMON QUESTIONS

JSONPath Tester questions

Which JSONPath syntax does this use?
The evaluator uses JSONPath Plus. JSONPath has several dialects, so the page names this one explicitly rather than implying that every library accepts identical expressions.
Can a filter expression execute arbitrary JavaScript?
No. Filters use JSONPath Plus's CSP-safe evaluator rather than eval or Function, and the JSON document itself is parsed strictly as JSON.
Why did a valid expression return no result?
A valid JSONPath may simply match no value in the current document. That produces a successful result with a count of zero, while malformed JSON or expression syntax is reported as an error.