JSONPath Evaluator

Run JSONPath expressions against JSON and see matching values and their paths instantly.

JSON Input
Loading editor…
JSONPath Expression
Results
Paste JSON and enter a JSONPath expression to see matches here.

What is JSONPath?

JSONPath is a query language for JSON, similar in spirit to XPath for XML. An expression like $.store.book[*].author lets you pull specific values out of a document — an array item, a deeply nested field, or every value matching a condition — without writing a loop by hand.

This evaluator runs your expression against your JSON directly in the browser using jsonpath-plus, a standard JSONPath implementation, and shows every match along with the exact path it was found at. Results update automatically a moment after you stop typing, so you can iterate on an expression and see the effect immediately.

JSONPath is commonly used to pull specific fields out of a large API response, extract values from logs or config files, or write assertions in API testing tools (many of which accept JSONPath expressions directly). Everything here runs locally — your JSON is never uploaded to a server.

JSONPath Syntax Reference

SyntaxMeaning
$The root of the document.
.keyA child field, e.g. $.store.
[*]Wildcard — every item in an array or every value in an object.
..keyRecursive descent — find key at any depth.
[0]A specific array index.
[0,2]A union of specific indices.
[start:end]A slice of an array, e.g. [-1:] for the last item.
[?(@.field > 1)]A filter expression using the current item as @.

Example

The classic bookstore example used across JSONPath documentation, with a few expressions worth trying (also available from the Examples dropdown in the tool above).

Sample JSON
{
  "store": {
    "book": [
      { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "price": 8.99 },
      { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "price": 22.99 },
      { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }
    ],
    "bicycle": { "color": "red", "price": 19.95 }
  }
}
Expressions to try
$.store.book[*].title

Wildcard — every title in the book array.

$..price

Recursive descent — every price anywhere in the document.

$.store.book[?(@.price < 10)]

Filter expression — books matching a condition.

$.store.book[0,1]

Union — specific indices by position.

$.store.book[-1:]

Array slicing — the last element.

$.store..*

Recursive descent — every node under store.

Features

Standard Syntax

Powered by jsonpath-plus, supporting the full range of common JSONPath operators.

Recursive Descent

Use .. to find a key at any depth, no matter how deeply nested your document is.

Filter Expressions

Match array items by condition with ?(@.field > value) style filters.

Slicing & Unions

Select ranges with [start:end], specific indices with [0,2,4], and more.

Inline Errors

Invalid JSON or a malformed expression shows a clear message without breaking the page.

Related Tools