JSONPath Tester

Query JSON with JSONPath expressions and see every match, in your browser.

Runs in your browser. Nothing is uploaded — your input is processed on this device and discarded when you close the tab.

JSONPath Tester

How to use this tool

  1. Paste JSON data in the first box and a JSONPath expression (starting with $) in the second.
  2. Click Run to list every matching value, in document order.
  3. Load the sample to try $.store.book[*].author against a small bookshop document.

Worked example

Against the sample bookshop, $.store.book[*].author returns two matches — “Nigel Rees” and “Evelyn Waugh” — and $..price (recursive descent) returns every price in the document, 8.95 and 12.99, plus the bicycle price of 19.95.

What this tool does not do / Limits

This tester supports the common JSONPath subset: child access, bracket notation, indexes (including negative), wildcards, recursive descent, slices and filters of the form [?(@.field == value)] with ==, !=, >, <, >= and <=. It does not support script expressions, length functions or union expressions.

Frequently asked questions

Why does my query return no matches?

Check that the path starts with $, that property names match case exactly, and that an array step uses an index or [*] rather than a property name.

What does $.. mean?

Two dots mean recursive descent: search at every depth below the current node. $..price finds price anywhere in the document, not just at the top level.

Related tools