Find any JSONPath in seconds
Drop in a document, expand the tree, and click any node to copy its JSONPath. Perfect for writing jq queries, JMESPath, or front-end selectors.
Ready when you are.
Paste JSON on the left, or click Sample to try a quick example. Validation runs as you type — entirely in your browser.
JSONPath at a glance
$— root.key— child by name (when key is a valid identifier)["key with spaces"]— child by quoted name[0]— array index- Combine:
$.users[2].address.city
For full syntax including wildcards, slices, and filter expressions, see the JSONPath cheatsheet.
Examples
{ "user": { "address": { "city": "Oslo" } } }$.user.address.city
{ "items": [ { "sku": "A1" }, { "sku": "B2" } ] }$.items[1].sku
{ "user-id": 42, "x-rate-limit": 100 }$["x-rate-limit"]
Bracket notation when the key isn't a valid identifier.
Use cases
- Writing jq queries
Find the path here, then translate to jq syntax (e.g. .users[0].email) without typos.
- kubectl JSONPath
kubectl supports JSONPath selectors directly — copy the path and paste it into --jsonpath.
- GitHub Actions outputs
Pick the right path through fromJSON() output without trial and error.
- Frontend accessors
Verify the dot path before writing data?.user?.address?.city in TypeScript.
Frequently asked questions
What is JSONPath?+
A query language for picking values out of a JSON document, similar to XPath for XML. Paths start with $ (the root) and use dot notation or bracket notation: $.users[0].email.
How do I find a path with this tool?+
Switch to the Tree view, expand the structure to the value you want, hover the row, and click the path chip. The path is copied to your clipboard.
Where can I use the path?+
JMESPath, jq (with small adjustments), the JSONPath libraries in JavaScript, Python, Go, and many config tools (e.g. kubectl, GitHub Actions outputs).