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.

Works OfflineDark ModeNo Ads

JSON Input

JSONPath Expression

Result

0 matches

JSONPath Syntax Reference

ExpressionDescription
$Root object
.keyChild property
[0]Array index
[*]All elements (wildcard)
[0:3]Array slice (start:end)
..keyRecursive descent — find key at any depth

How to Use

  1. 1

    Paste your JSON

    Paste or type JSON data into the input area — the tool validates it automatically

  2. 2

    Write a JSONPath expression

    Enter a path like $.store.books[*].title — use the syntax reference if needed

  3. 3

    View the results

    Matching values appear instantly with a count of how many matches were found

  4. 4

    Try preset expressions

    Click the preset buttons to quickly test common patterns like wildcards and recursive descent

  5. 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.

Related Tools