JSONPath Tester

Query a JSON document with JSONPath expressions and see the matches update as you type — entirely in your browser.

source.json
1
2
3
4
5
6
7
8
9
10
11
12
matches.json2 matches
1
2
3
4

Syntax reference

Your Data Never Leaves Your Device

Every tool runs entirely in your browser. Nothing you type is uploaded, stored, or logged on our servers.

100% Client-Side

The JSONPath Tester lets you write a JSONPath expression and immediately see which parts of your document it matches. That makes it a fast way to work out the right selector before committing it to code — whether you're pulling a field out of an API response, configuring a tool that takes JSONPath (Kubernetes kubectl -o jsonpath, AWS Step Functions, Jenkins, or Elasticsearch pipelines), or just exploring an unfamiliar payload.

Recursive descent ($..), wildcards, array slices, and filter expressions such as [?(@.price<10 && @.inStock)] are all supported, and you can return matched values, their JSONPath locations, or RFC 6901 JSON Pointers. Filter expressions evaluate in a sandbox with no access to browser globals, and your document never leaves your machine, so it's safe to paste a real API response.

FAQ

JSONPath is a query language for JSON, similar in spirit to XPath for XML. An expression like $..book[?(@.price<10)].title walks the document and returns every matching value.

Use a filter expression: $..book[?(@.price<10)] returns items cheaper than 10, and you can combine conditions with && and ||, for example [?(@.price>10 && @.category=='fiction')].

Yes. Switch "Return" to Paths for JSONPath-style locations like $['store']['book'][0], or JSON Pointers for RFC 6901 style /store/book/0.

A single dot walks one level down, so $.store.book only matches a book directly under store. Two dots search recursively at any depth, so $..book finds a book key wherever it appears.

Yes. Expressions are evaluated in a sandboxed mode with no access to browser globals, so a pasted query can compare fields but cannot run arbitrary code.

No. Both the document and the query stay in your browser — nothing is uploaded, so it's safe to test against real API responses.