JSON Path Query Tool
Query and extract data from JSON using JSONPath expressions. Navigate complex structures with simple syntax.
data_object JSON Input
search Query Result
JSONPath Syntax Reference
Basic Selectors
$ | Root element |
.property | Dot notation property |
['property'] | Bracket notation property |
[index] | Array index |
Array Operations
[*] | All array elements |
[1,2,3] | Multiple indices |
[start:end] | Array slice |
[0:3] | First 3 elements |
Recursive Descent
.. | Recursive descent |
$..name | All "name" anywhere |
$..price | All "price" fields |
$..[0] | First element of all arrays |
Common Examples
$.store.book[*] | All books |
$.store.book[0].title | First book title |
$..book[*].author | All authors |
$.store.book[-1:] | Last book |
Try These Examples
Click any example to load the JSON and query into the panels above.
Key Features
Deep Query
Navigate deeply nested JSON structures with simple expressions. Supports wildcards, slices, and recursive descent.
Instant Results
Real-time query execution as you type with automatic JSON formatting in the output.
Full Syntax
Supports dot notation, bracket notation, wildcards, array slices, and recursive descent operators.
Privacy First
All processing happens locally in your browser. Data never leaves your device.
Frequently Asked Questions
Getting Started
What is JSONPath?
JSONPath is a query language for JSON, similar to XPath for XML. It allows you to extract and filter data from JSON documents using a simple, expressive syntax. It's widely used in API testing, data extraction, and configuration management.
How do I use this tool?
Paste your JSON into the left panel, enter a JSONPath expression in the input field, and click "Query". The matching results will appear in the right panel. Use the example links to try common patterns.
Is this JSONPath tool free?
Yes. All tools are completely free and run locally in your browser. No signup, no limits, no hidden costs.
Basic Syntax
How do I select nested properties?
Use dot notation: $.store.book[0].title or bracket notation: $['store']['book'][0]['title']. Both access the same nested value.
What does the $ symbol mean?
The $ symbol represents the root element of your JSON document. All JSONPath expressions start with $ to indicate you're querying from the top level.
Can I select all items in an array?
Yes! Use the wildcard [*] to select all elements. For example, $.store.book[*].title gets all book titles.
Advanced Features
What is recursive descent?
The .. operator performs a deep search through all nested levels of the JSON. $..price finds all fields named "price" anywhere in the structure.
Can I use this tool offline?
Yes! Once you've visited the page, all functionality works offline thanks to service workers and local processing.
How do I use filter expressions in JSONPath?
Filter expressions use the syntax
[?(@.property operator value)] to select array elements matching a condition. For example, $.store.book[?(@.price < 10)] finds all books under $10. Supported operators include ==, !=, <, >, <=, >=, and match (regex). Note that filter expression support varies across JSONPath implementations — the Goessner reference implementation has limited filtering, while libraries like jsonpath-plus add more operators.How do I access properties with special characters in JSONPath?
When property names contain spaces, dots, or special characters, use bracket notation with quotes:
$['property name'] or $['nested']['property.with.dots']. Dot notation $.property fails for names containing dots because the dot is a descendant separator. Some JSONPath implementations also support wildcard property names like $.*.type to query properties regardless of their name.What is the difference between JSONPath and JSON Pointer (RFC 6901)?
JSON Pointer (RFC 6901) is a standardized reference syntax for pointing to a specific value within a JSON document, like
/store/book/0/title. It is simpler than JSONPath — it cannot use wildcards, filters, or recursive descent. JSON Pointer is used in JSON Patch (RFC 6902) and OpenAPI specs, while JSONPath is more flexible for query operations. JSONPath has no official standard but is widely implemented across languages.Can JSONPath handle large JSON files efficiently?
Processing large JSON files with JSONPath depends on the implementation. In-browser tools like this one load the entire JSON into memory, so files over 100MB may cause browser crashes. Server-side libraries in Node.js, Python, or Java can handle larger files but may still be memory-bound. For streaming JSON queries on very large files, consider tools like jq (which uses its own query language) or JSONPath implementations with streaming parsers.
For more details, refer to the JSONPath reference by Stefan Goessner, the JSON Pointer (RFC 6901) specification, and ECMA-404 JSON standard.
Last updated: July 14, 2026