Overview
Paste JSON and a JSONPath expression to see exactly which values it matches, without writing and running a script just to check a query. Supports the JSONPath features people reach for most often: dot notation (.key), array indexing ([n]), wildcards ([*]), slices ([start:end]), multiple indices ([n,n]), and recursive descent (..key) to search at any depth. This covers the common subset most JSONPath usage actually needs - full filter expressions like [?(@.price>20)] aren't supported, since implementing a complete filter-expression parser is a much larger undertaking than the path-matching most people are looking for. Runs entirely client-side.
Best for: Checking a JSONPath expression matches what you expect before using it in code
How to use this tool
- Paste your JSON. The document you want to query against.
- Type a JSONPath expression. e.g. $.store.books[*].title to pull every book title.
- See the matches instantly. Every value the path matches is listed, updating live as you edit the path.
Frequently asked questions
No - this supports the common path-matching subset (dot notation, array indices, wildcards, slices, and recursive descent) but not conditional filter expressions, which require a much more involved expression parser. For filtering by a condition, matching all values first and then filtering the result in your own code is the practical workaround.
A path like $..price searches the entire JSON document at any depth for a key named "price", rather than requiring you to know the exact path to it - useful when the same key appears in multiple nested locations and you want every occurrence.
The tool reports the JSON parse error immediately rather than attempting to evaluate the path against broken input. Fix the JSON using the JSON Formatter & Validator first if you need help finding the syntax error.