JSON Path Finder
Click on any JSON value and get its path instantly. Free, in your browser.
Click any path to copy
What it's for
Find JSON paths with a click
Compatible with JSONPath and jq
Generated paths are valid in standard JSONPath, jq, jsonata, and most JSON manipulation libraries.
100% private
Your JSON is processed in the browser. Never sent to any server. Safe for JSONs with internal API data.
Interactive visual tree
JSON is displayed as a tree color-coded by type (string, number, boolean, array, object) for easy navigation.
Instant
The path appears the moment you click. No forms, no buttons, no waiting.
How it works
Three steps, no hassle
Paste your JSON
Enter the JSON you want to explore. The tool validates it and displays the tree interactively, color-coded by type.
Click on any value
Click on any key or value in the JSON. The tool immediately calculates and displays the full path in dot notation and JSONPath syntax.
Copy the path
Copy the generated path (e.g. `data.users[0].address.city`) to use directly in your code, jq query, or API tool.
FAQ
Got questions?
A JSON path is the sequence of keys and/or array indices needed to access a specific value in a nested JSON structure. For example, in `{"user": {"name": "Alice"}}`, the path to the name would be `user.name` in dot notation, or `$.user.name` in JSONPath syntax. Paths are essential for extracting values programmatically, configuring business rules based on JSON data, and writing data transformation queries.
JSONPath is a query language for JSON, analogous to XPath for XML, proposed by Stefan Goessner in 2007. The `$` sign represents the document root. The dot `.` accesses an object property: `$.store.book`. Brackets `[]` access array indices: `$.users[0]`. Recursive queries use `..`: `$..name` retrieves all `name` fields at any level. Filters are expressed as `[?(@.price < 10)]`.
JSON paths have multiple practical uses: (1) API debugging — identifying exactly where a value is in a large response; (2) jq queries — `jq '.data.users[0].name'` to extract values in the terminal; (3) Configuration extraction — scripts reading values from complex JSON config files; (4) Data transformations with tools like JSONata or jolt; (5) Validation rules in JSON Schema referencing specific fields.
Arrays in JSON are zero-indexed. The first element is `[0]`, the second `[1]`, and so on. In JSONPath, `$.items[0]` accesses the first element, `$.items[-1]` the last (in implementations supporting negative indices), and `$.items[0,2]` accesses elements at index 0 and 2. To access all array elements, use the wildcard: `$.items[*]`.
The tool handles JSON with any nesting level. However, for extremely deep JSONs or those with thousands of nodes, rendering the interactive tree may slow down in browsers with limited resources. In practice, most REST APIs and config files have fewer than 10 nesting levels, which the tool handles without any issues.
JSONPath: Stefan Goessner 2007 specification, RFC 9535, jq, and REST API debugging
JSONPath was proposed by Stefan Goessner in 2007 as a query language for JSON analogous to XPath for XML. Unlike XPath, JSONPath was never formally standardized until RFC 9535 (2024). Multiple implementations in different languages (Jayway in Java, jsonpath in Python, jsonpath-ng, jp in Go) adopted slightly different variations of the original specification. RFC 9535 finally unified the syntax to ensure consistent behavior across implementations.
jq is the most popular command-line tool for processing JSON, created by Stephen Dolan in 2012. It works as a stream processor: receives JSON via stdin, applies a filter (path expression and transformation), and emits JSON via stdout. Commands like `curl https://api.example.com/users | jq '.[0].email'` let you extract values from API responses directly in the terminal. jq's path access syntax is very similar to JSONPath, though with differences in arrays and filters.
In modern REST API development, debugging complex JSON responses is a daily task. Tools like Postman, Insomnia, and Bruno allow writing JSONPath expressions to extract response values in tests and pre-scripts. AWS uses JSONPath in Step Functions to extract data between workflow steps. Kubernetes uses JSONPath in kubectl with `--jsonpath` to extract fields from cluster objects. Knowing the exact paths of fields in complex JSON is fundamental for working efficiently with APIs and structured data.