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.

Related Tools

Learn more about the JSONPath Evaluator

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.

How to use

Paste your input in the left editor. The output appears automatically on the right. Use the toolbar buttons to copy, download, or transform the result.

  1. Paste or type your content in the input editor on the left.
  2. The formatted output is generated automatically.
  3. Use Copy, Download, or other actions from the output toolbar.
  4. Click the expand icon to view the output in fullscreen.
FAQ

Is this JSONPath evaluator free?

Yes, it is completely free to use with no limits, signup, or account required.

Is my JSON uploaded to a server?

No. Evaluation runs entirely in your browser using JavaScript, whether you paste JSON or upload a file. Your data never leaves your machine.

What JSONPath syntax is supported?

Standard JSONPath syntax via jsonpath-plus, including wildcards (*), recursive descent (..), array slicing ([start:end]), unions ([0,2]), and filter expressions ([?(@.field > 1)]).

What does the result panel show?

Every value matching your expression, along with the exact normalized path it was found at (e.g. $['store']['book'][0]['title']), so you can see precisely where each match came from.

What happens if my expression is invalid?

The results panel shows a clear inline error describing what failed to parse, without breaking the rest of the tool — you can keep editing the expression and it re-evaluates automatically.

Does it re-run on every keystroke?

Evaluation is debounced by a fraction of a second after you stop typing, so large documents and fast typing stay smooth instead of re-querying on every character.

Can I upload a file instead of pasting JSON?

Yes. Drag and drop a .json file onto the input panel, or click the upload icon in the panel header to browse for one. Files up to 5MB are supported.

Can I copy or download the results?

Yes, use the Copy button to copy every match (path and value) as JSON, or Download to save them as a jsonpath-results.json file.