Quick Tip: Start with $ for the root — try $.users[*].name or $..email to extract nested values from any JSON.
JSON Input
Query Result

JSONPath Query Tester: Extract Data Instantly

Use JSONPath to query and extract specific values from any JSON document — just like XPath for XML. Paste your JSON on the left, type a JSONPath expression, and see matching results immediately.

  • Dot notation: $.store.book[0].title
  • Wildcard: $.users[*].email
  • Recursive descent: $..price — finds all price keys at any depth.
  • Filter expressions: $.books[?(@.price < 10)]
  • Privacy-First: All evaluation happens in your browser — nothing is uploaded.

JSONPath Syntax Reference

ExpressionMeaning
$Root element
$.keyChild named key
$[0]First array element
$[*]All array elements
$..keyRecursive search for key
$.a.bNested dot notation
$[?(@.x > 5)]Filter: items where x > 5
$.a[1:3]Array slice (index 1 to 2)

JSONPath in Practice

Sample JSON

{
  "store": {
    "books": [
      { "title": "Refactoring",
        "price": 45 },
      { "title": "Clean Code",
        "price": 30 }
    ]
  }
}
$.store.books[*].title
→ ["Refactoring","Clean Code"]
$..price
→ [45, 30]
$.store.books[?(@.price < 40)].title
→ ["Clean Code"]

Common Use Cases

API Response Exploration

Quickly extract field subsets from large API payloads without writing code.

Log Analysis

Use recursive descent ($..error) to find error fields anywhere in structured log entries.

Config Inspection

Filter arrays with [?(…)] to extract only the config entries matching your criteria.


Frequently Asked Questions

Is my data safe with this JSON tool?

Yes. This tool uses 100% client-side processing. Your JSON data never leaves your browser and is never sent to our servers, ensuring maximum privacy and security.

What is JSONPath?

JSONPath is a query language for JSON, similar to XPath for XML. It lets you navigate and extract values from JSON documents using path expressions like $.users[*].name or $..price.

What does the recursive descent operator (..) do?

The .. operator searches all levels of the JSON tree regardless of depth. For example, $..price finds every "price" key anywhere in the document — no matter how deeply nested.

How do filter expressions work?

Filter expressions use the syntax [?(@.field operator value)]. The @ symbol refers to the current element. For example, $.books[?(@.price < 30)] returns books with a price below 30.