JSON Path Tester

Write JSONPath expressions to query and extract data from JSON documents in real-time. Runs entirely in your browser — your data stays private.

Examples:
JSONPath Quick Reference
 
Enter JSON and a JSONPath expression, then click Evaluate or press Ctrl+Enter.

About JSON Path Tester

JSONPath is a query language for JSON documents, analogous to XPath for XML. It provides a simple, powerful syntax for navigating nested JSON structures and extracting exactly the data you need. This tool evaluates JSONPath expressions entirely in your browser with zero dependencies.

Supported Features

Frequently Asked Questions

What is JSONPath and how does it work?
JSONPath is a query language for JSON, similar to XPath for XML. It lets you navigate and extract data from JSON documents using path expressions. The root element is referenced with $, and you use dot notation ($.store.book) or bracket notation ($['store']['book']) to traverse the structure.
Is my JSON data safe when using this tool?
Yes, completely. This JSON Path Tester runs 100% in your browser using JavaScript. Your data never leaves your computer and nothing is sent to any server. All JSONPath evaluation happens client-side.
What JSONPath expressions does this tool support?
This tool supports dot notation ($.store.book), bracket notation ($['store']), array indexing ($[0], $[-1]), wildcards ($.*), recursive descent ($..name), array slicing ($[0:3], $[::2]), and filter expressions ($[?(@.price < 10)]). It covers all commonly used JSONPath operations.
What is the difference between JSONPath and jq?
JSONPath and jq both query JSON data but use different syntax. JSONPath uses $ as the root and dot/bracket notation ($.store.book[0].title), while jq uses a pipe-based syntax (.store.book[0].title). JSONPath is more common in Java, Python, and JavaScript ecosystems, while jq is the standard for command-line JSON processing.
How do I use filter expressions in JSONPath?
Filter expressions use the syntax $[?(@.field operator value)]. The @ symbol refers to the current element being evaluated. Examples: $..book[?(@.price < 10)] finds books under $10, $..book[?(@.category == 'fiction')] finds fiction books, and $..book[?(@.isbn)] finds books that have an ISBN field.
Keyboard Shortcuts
Ctrl+Enter Evaluate
Ctrl+Shift+C Copy output
Ctrl+L Clear