Skip to content

JSONPath Tester

Run JSONPath expressions against a document and see every match live.

JSONPath syntax

$
The root of the document
.key or ['key']
A named property
[0] and [-1]
An array index, counting from the end when negative
[*] and .*
Every child of an object or array
[1:3]
A slice, from index 1 up to but not including 3
..key
Every matching key at any depth
['a','b']
A union of two named properties
[?(@.price < 10)]
A filter; @ is the item being tested
[?(@.a == 1 && @.b)]
Conditions joined with && or ||
[?(@.name =~ /^A/)]
A regular-expression match

Quick Tool Overview

The JSONPath Tester runs an expression against your own document and lists every match with the exact path it was found at. Wildcards, slices, recursive descent, unions and filter expressions are all supported.

What it does
Evaluates JSONPath expressions against a document
You give it
A JSON document and a JSONPath expression
You get back
Every match, with its full path and value
Best for
Building extraction rules for tests, pipelines and API clients
Developer Tools Free, unlimited use No sign-up Runs in your browser

About the JSONPath Tester

JSONPath is to JSON what XPath is to XML: a short expression that selects nodes out of a document. This tester runs one against your own data and shows every match, each with the exact path it was found at, so you can confirm an expression before it goes into code.

The supported grammar is the one people actually write. Dot and bracket property access, [*] and .* wildcards, numeric indexes including negative ones, [start:end] slices, .. recursive descent, unions such as ['a','b'], and ?() filters comparing @.field with ==, !=, <, <=, >, >= or a regular expression, joined with && and ||. A reference panel lists every form with an example, so the syntax is on the page rather than in another tab.

Key features of the JSONPath Tester

Live match count

The number of matches updates as you type, so you can tell immediately whether a step narrowed the selection or emptied it.

Filter expressions

Conditions such as [?(@.price < 10 && @.stock > 0)] are supported, including regular-expression matching with =~.

Recursive descent

The .. operator searches at any depth, which is how you find a key when you do not know where it sits.

Every match carries its path

Results show where each value came from, so an unexpected match is traceable rather than mysterious.

Syntax reference on the page

A panel lists every supported form with an example, so the grammar is beside your data rather than in another tab.

How to use the JSONPath Tester

  1. 1

    Paste your JSON

    The document you want to query goes in the input box.

  2. 2

    Write an expression

    Start with $ and drill down, for example $.store.book[*].author.

  3. 3

    Read the matches

    Every match is listed with its full path and value, and the match count is shown above.

  4. 4

    Refine with a filter

    Add a condition such as [?(@.price < 10)] to select only the nodes you want.

Frequently asked questions

It searches recursively at any depth. $..author finds every author key anywhere in the document, however deeply nested.

Reviews of the JSONPath Tester

What people who use the JSONPath Tester think of it. Reviews come from visitors and are posted as written.

No ratings yet

Yours would be the first.

  • 5 0 reviews rated 5 stars
  • 4 0 reviews rated 4 stars
  • 3 0 reviews rated 3 stars
  • 2 0 reviews rated 2 stars
  • 1 0 reviews rated 1 star

Write a review

Used this tool? Your rating helps the next person decide.

Your rating

Plain text only — links, email addresses and HTML are not accepted. Your name and review are shown publicly; nothing else is collected. See the privacy policy.

0 reviews

Newest first

No reviews yet

Be the first to rate the JSONPath Tester. It takes half a minute and no account.

Write the first review

More developer tools