My Tools Garage

JSONPath Tester

Run JSONPath queries against your JSON live.

in-browser

How to use

  1. 1 Paste or type your JSON into the input box.
  2. 2 Write a JSONPath expression starting with $.
  3. 3 Watch matched values and their paths appear live.
  4. 4 Copy the matched values for use elsewhere.

About JSONPath Tester

The JSONPath Tester lets you write a JSONPath expression and immediately see which parts of your JSON it selects, along with the normalised path to every match.

JSONPath is to JSON what XPath is to XML: a compact query language for reaching into nested objects and arrays.

Instead of guessing whether $.store.book[*].author returns what you expect, you can paste a real document and watch the results update as you type.

It supports the widely used subset of the language: the root $, child access with dot or bracket-quoted keys, array indexing including negative indexes that count from the end, the * wildcard over object values and array items, [start:end] slices with an exclusive end, and the .. recursive-descent operator that gathers a key from anywhere in the tree.

Each result shows both the value and its canonical bracket path such as $['store']['book'][0]['title'], which is handy when you need to reference an element precisely in code or configuration.

This is built for developers wiring up API integrations, config transforms, log queries and test assertions, where a quick sanity check saves a round of debugging.

The evaluator is written from scratch with no external dependencies and never uses eval, so it is safe and runs entirely in your browser — your JSON is not uploaded, logged or stored, and the page works offline.

Filter and script expressions are intentionally left out to keep it small and predictable.

FAQ

Which JSONPath features are supported?

Root $, child keys (dot or bracket), array indexes (including negatives), * wildcards, [start:end] slices and ..key recursive descent. Filter and script expressions are not supported.

Why does it show a path like $['store']['book'][0]?

That is the normalised (canonical) path to each match. Bracket notation removes ambiguity, so you can reference exactly the element that matched.

Is my JSON sent anywhere?

No. The query runs in your browser with a hand-written parser — no eval, no network — so your data never leaves the page.