JSONPath Finder

JSONPath Finder writes the path for you. Paste a JSON document, wait for the tree, and click any key or value. The expression appears above the tree — for example $.user.roles[0] — with a Copy button, and the same span is highlighted in the editor so you can see which characters that node came from. You do not have to remember bracket versus dot syntax. The finder emits a concrete path for the node you clicked, not a wildcard.

That is the opposite of JSON Path Evaluator. Evaluator assumes you already have an expression, including filters and [*], and lists every match. Finder assumes you can see the data and need the expression. Use Finder while exploring an unfamiliar API response; switch to Evaluator when you want to test $.store.book[?(@.price<10)] or another query you wrote by hand.

Arrays are indexed from zero, so the first role is [0] and the second is [1]. Nested objects chain with dots: $.user.name, not a search across every name in the file. If two objects both have a name field, their paths still differ because each path starts at the root. Invalid JSON never builds a tree — trailing commas and comments fail the parse. Clean those with JSON Formatter, then paste the strict document here. The document stays in the browser; nothing is uploaded while you click through tokens, claims, or config blobs.

JSON
Paste or type your content here…
JSONPath

Paste JSON, then click any value in the tree to get its JSONPath expression.

Frequently Asked Questions

How is JSONPath Finder different from JSON Path Evaluator?
Finder starts from the document. You click a node and it writes the path. Evaluator starts from an expression you already typed and lists the values that match. Use Finder to discover $.user.roles[0]; use Evaluator to run that expression, or a filter, against another payload.
Why do array paths use [0] instead of [* ]?
A click selects one node, so the path is concrete: $.user.roles[0] is the first role, $.user.roles[1] is the second. A wildcard such as $.user.roles[*] matches every item and is something you type in JSON Path Evaluator, not something a single click can mean.
What if the JSON is invalid?
The tree is built only after the document parses. A trailing comma, a comment, or a missing brace stops the tree and shows the parse error. Format the payload with JSON Formatter if you want strict JSON, then paste it here and click again.
Can two different clicks produce the same path?
No. Each node has one path from the root. Two keys with the same name in different objects still differ, for example $.user.name versus $.account.name. Duplicate keys inside one object are not valid JSON; the parser keeps the last value, so only that node is clickable.