Skip to content
Browser tool Runs locally

JSONPath Tester

Test JSONPath expressions against a JSON document with safe, browser-local evaluation.

JSON document
Matches
Matching values will appear here.

How to use the JSONPath tester

  1. Paste a valid JSON document.
  2. Enter an expression beginning with $.
  3. Click Test JSONPath and inspect each matching value and normalized path.

Common expressions

  • $.store.book[0].title selects one nested value.
  • $.store.book[*].author selects a property from every array item.
  • $..price finds descendant properties named price.
  • $.store.book[?@.price > 10] filters array children using a safe comparison.

RFC 9535 and implementation scope

RFC 9535 is the current IETF JSONPath standard. This tool intentionally exposes a conservative subset rather than claiming full compliance. Unsupported expressions fail clearly instead of falling back to arbitrary JavaScript evaluation. Bracket unions preserve selector order; slices support negative indexes and nonzero steps. Descendant selection visits children breadth-first. Filters accept @ or dot-property paths, scalar JSON literals, ==, !=, <, >, <=, >=, && and ||, without functions or parentheses. Bare paths test existence, including false and null values. Comparisons do not coerce types; missing paths never match a comparison. Dot names use ASCII letters, digits, underscores and dollar signs; quote other property names in brackets. Numbers use JavaScript precision.

Frequently asked questions

What is JSONPath?
JSONPath is a query syntax for selecting and extracting values from a JSON document. The modern standard is RFC 9535, published by the IETF in 2024.
Which JSONPath syntax does this tool support?
This browser implementation supports the common query forms documented on this page: root $, dot-property access, bracketed names and indexes, wildcards, array slices, descendant selection, and safe comparison filters. It does not claim complete RFC 9535 conformance.
Why does an expression return no matches?
Check the property names and array indexes first. JSONPath is case-sensitive, array indexes start at zero, and a filter only matches values satisfying its condition.
Is JSONPath the same as JSON Pointer?
No. JSON Pointer identifies a single location using a pointer syntax, while JSONPath is a query language that can select multiple values from a document.
Does this tool execute JavaScript from a JSONPath filter?
No. Filters are parsed and evaluated by explicit comparison logic. The tool does not use eval or execute user-supplied JavaScript.

Related tools