Skip to content

JSONPath Tester

Run a JSONPath expression against your JSON and see every match and its path.

For example $.store.book[*].title or $..book[?(@.price < 10)]

Runs in your browser — nothing you enter is sent to a server.

How the JSONPath Tester works

Paste JSON and type a JSONPath expression; the matching values are listed as you type. Turn on Show the path to see where each match is, for example $.store.book[2].price.

Supported syntax (RFC 9535 and the original JSONPath):

  • $ the root; .name or ['name'] a member; * every member or item
  • [0], [-1] an index (negative counts from the end); [0,2] several; [1:3], [::2] a slice
  • .. search at every depth, as in $..price
  • [?(@.price < 10)] a filter with ==, !=, <, <=, > or >=, and [?(@.isbn)] to keep items that have a member

Examples

Every price in a store

In the classic bookstore example, $..price finds the four book prices and the bicycle's: 8.95, 12.99, 8.99, 22.99 and 19.95.

Cheap books

$..book[?(@.price < 10)].title returns "Sayings of the Century" and "Moby Dick".

Frequently asked questions

Why does my expression give different results elsewhere?

JSONPath libraries differed for years until RFC 9535 (2024) standardised it. Filters with functions, regular expressions or && and || vary most between libraries and aren't supported here.

What does an empty result mean?

The path is valid but matched nothing — often a typo in a member name (names are case-sensitive) or an index past the end.

Is my JSON uploaded?

No. It is parsed and queried in your browser.

JSON Formatter

Format, validate and minify JSON, with the exact line and column of any error.

Developer Tools

JSON Diff

Compare two JSON documents and list every added, removed and changed value by path.

Developer Tools

Regex Tester

Test JavaScript regular expressions with live highlighting, groups and replacement.

Developer Tools