JSON Path Finder
Paste JSON, click any value in the tree, get the path expression. Supports JSONPath ($.user.roles[0]), dot notation, and bracket notation. Copy in one click.
When you need this
Writing jq filters
jq uses JSONPath-style expressions. Click the value you want to extract, copy the path, and paste it straight into your jq command. No trial and error.
AWS Step Functions & EventBridge
Step Functions input/output paths and EventBridge rule patterns use JSONPath syntax. Find the exact path to the field you need without manually counting nesting levels.
Postman and API testing
Postman test scripts and variable extractors use dot-notation paths. Paste a response body, click the field you want, and copy the expression.
JavaScript / TypeScript code
When writing code that processes API responses, click through the response structure to get the exact property access path: response.data.users[0].address.city.
Kubernetes admission controllers
OPA/Rego policies and ValidatingWebhookConfiguration patches use JSONPath to address fields in manifests. Find the correct path without reading through nested spec docs.
Debugging nested API responses
When an API returns 10 levels of nesting and you need one field, clicking through the tree is faster than mentally parsing the structure.
Example
GitHub API response — finding paths to specific fields
{
"repo": "tensorflow/tensorflow",
"stars": 178000,
"contributors": [
{ "login": "alice", "contributions": 2891 },
{ "login": "bob", "contributions": 1204 }
]
}Click "178000" → $.stars Click "alice" → $.contributors[0].login Click 2891 → $.contributors[0].contributions Click "bob" → $.contributors[1].login
Frequently asked questions
What is JSONPath?
JSONPath is a query language for JSON, similar to XPath for XML. An expression like $.user.roles[0] addresses a specific value. It's used in jq, AWS Step Functions, Kubernetes admission controllers, Postman, and many other tools that need to extract or filter values from JSON structures.
What's the difference between JSONPath, dot notation, and bracket notation?
JSONPath ($.user.name) is the formal standard used by query engines and adds the $ root marker. Dot notation (user.name) is JavaScript property access syntax — simpler but requires valid identifiers as keys. Bracket notation (user["name"] or user[0]) handles keys with special characters and array indices. All three address the same value.
My JSON key contains spaces or special characters. Which notation should I use?
Use bracket notation or JSONPath with bracket syntax: user["first name"] or $['first name']. Dot notation only works for keys that are valid JavaScript identifiers (letters, digits, underscore, dollar sign — no spaces or hyphens).
Can I use the path expression directly in JavaScript?
Dot and bracket notation paths copy directly into JavaScript. JSONPath (starting with $) needs a JSONPath library like jsonpath-plus to evaluate. For plain JavaScript property access, use dot or bracket notation from the dropdown.
How do I handle deeply nested arrays?
Click the specific element you want. The path shows the full chain including all array indices: $.orders[2].line_items[0].sku. Each level of nesting is reflected in the expression.
Related Tools
All conversions run in your browser — nothing is uploaded.
Browse all 26 converters →