JSONPath Finder
JSONPath is a query language for extracting values from JSON data. Use $ for the root, .key for properties, [0] for array indices, [*] for wildcards, [0:3] for slices, and .. for recursive descent. Example: $.store.books[*].title returns all book titles. Similar to XPath for XML, JSONPath is used in API testing (Postman), data pipelines, and log analysis.
Test JSONPath expressions against your JSON data. Supports dot notation, bracket notation, wildcards, array slicing, and recursive descent. Live evaluation with match count and syntax reference.
JSON Input
JSONPath Expression
Result
JSONPath Syntax Reference
| Expression | Description |
|---|---|
| $ | Root object |
| .key | Child property |
| [0] | Array index |
| [*] | All elements (wildcard) |
| [0:3] | Array slice (start:end) |
| ..key | Recursive descent — find key at any depth |
How to Use
- 1
Paste your JSON
Paste or type JSON data into the input area — the tool validates it automatically
- 2
Write a JSONPath expression
Enter a path like $.store.books[*].title — use the syntax reference if needed
- 3
View the results
Matching values appear instantly with a count of how many matches were found
- 4
Try preset expressions
Click the preset buttons to quickly test common patterns like wildcards and recursive descent
- 5
Copy the output
Click Copy to copy the matched results as JSON to your clipboard
Frequently Asked Questions
- What is JSONPath?
- JSONPath is a query language for JSON data, similar to XPath for XML. It lets you select specific values from a JSON document using dot notation ($.store.name), bracket notation ($["store"]["name"]), wildcards ([*]), array slicing ([0:3]), and recursive descent (..) to find keys at any depth. It is widely used in API testing, data transformation, and log analysis.
- How do I select all items in a JSON array?
- Use the wildcard operator [*]. For example, $.store.books[*] selects all elements in the books array. To get a specific field from each element, chain it: $.store.books[*].title returns all titles. The wildcard also works on objects: $.store.* returns all values directly under store.
- What does the recursive descent operator (..) do?
- The double-dot (..) searches for a key at every level of the JSON tree. For example, $..price finds every "price" key regardless of nesting depth. If your JSON has prices at $.store.books[0].price and $.store.magazine.price, $..price returns both values.
- How do I slice a JSON array?
- Use bracket notation with start:end — for example, $.items[0:3] returns items at index 0, 1, and 2 (end is exclusive). $.items[2:] returns everything from index 2 onward. $.items[:5] returns the first 5 elements.
- What is the difference between JSONPath and jq?
- JSONPath uses a dollar-sign root ($) with dot/bracket notation and is designed for querying JSON in APIs and testing tools (Postman, REST Assured). jq uses a pipe-based syntax (. | .store | .books[]) and is designed for command-line JSON processing on Unix. Both query JSON, but with different syntax and ecosystems.
- Is my JSON data sent to a server?
- No. All JSONPath evaluation runs entirely in your browser using JavaScript. Your JSON data never leaves your device. This makes the tool safe for testing with sensitive API responses, configuration files, or internal data.