Skip to content
XUtilHub

JSONPath Online Evaluator & Tester

Test JSONPath expressions against your JSON online. Supports filters, wildcards and recursive descent, with live results.

  • Free, no sign-up
  • Runs in your browser, nothing uploaded
Input
Matches

About the JSONPath Tester

Write a JSONPath expression such as $.store.book[?(@.price < 10)].title and see the matching values instantly.

Key features

  • Evaluate JSONPath expressions live as you type
  • Filters, wildcards, slices and recursive descent
  • Results always returned as an array
  • Built-in sample store document to experiment with
  • Powered by the widely used jsonpath-plus engine
  • Runs in your browser

What is JSONPath?

JSONPath is a compact query language for selecting values from JSON. Instead of writing loops to dig through nested data, you write one expression like $.orders[*].total and get every matching value. It's used in API testing tools (Postman, REST Assured), Kubernetes (kubectl -o jsonpath), AWS Step Functions, monitoring tools and many SDKs.

Syntax cheat sheet

ExpressionMeaning
$The root
$.store.bicycle.colorChild by name
$['store']['bicycle']Bracket notation (for keys with spaces)
$.store.book[0]First array element
$.store.book[-1:]Last element
$.store.book[0:2]Elements 0 and 1 (slice)
$.store.book[*].titleAll titles
$..priceEvery price, at any depth
$.store.*All children of store
$.store.book[?(@.price < 10)]Books cheaper than 10
$.store.book[?(@.isbn)]Books that have an isbn

Example

With this data:

{ "store": { "book": [
  { "title": "Sayings", "price": 8.95 },
  { "title": "Moby Dick", "price": 8.99 },
  { "title": "The Lord of the Rings", "price": 22.99 }
] } }

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

["Sayings", "Moby Dick"]

Where you'll use JSONPath

  • Postman and API tests: assert on response values.
  • Kubernetes: kubectl get pods -o jsonpath='{.items[*].metadata.name}'.
  • AWS Step Functions: InputPath, ResultPath and OutputPath.
  • Alerting and dashboards: extracting metrics from JSON payloads.
  • Data pipelines: selecting fields before loading.

Tips

  • Start broad ($..*) and narrow down.
  • Use $..key when you don't know the depth.
  • Quote keys with special characters: $['first-name'].

Find paths by clicking in the JSON Viewer or JSON Navigator, both of which copy JSONPath expressions.

How to use the JSONPath Tester

  1. Paste your data into the input box, upload a file, or click Sample to try it out.
  2. Adjust the options above the editor if you need to (indentation, delimiter, and so on).
  3. The result appears instantly in the output panel. Any errors are shown with their line and column.
  4. Click Copy to copy the result, or Download to save it as a file.

Frequently asked questions

What is JSONPath?

JSONPath is a query language for JSON, similar to XPath for XML. It lets you select values with expressions such as $.store.book[*].author. It was standardized in RFC 9535 in 2024.

Why are results always in an array?

An expression can match zero, one or many values, so results are returned as a list. A single match is a one-element array.

Is JSONPath the same as jq?

No. jq is a separate, more powerful command-line language that can also transform data. JSONPath only selects values. Simple paths look similar in both.

Are filter expressions safe here?

Yes. Expressions run against your data locally in the browser; nothing is sent to a server.

Is my JSON uploaded to a server?

No. All JSON tools run entirely in your browser, so your data never leaves your device.

Is there a size limit?

There is no fixed limit. Files of several megabytes work fine; very large files depend on your device's memory.

Do I need an account?

No. Every JSON tool is free and works without signing up.

Last updated:

Related JSON tools