What this does
Paste a JSON document and browse it as a tree. Click any key or value and this tool writes the JSONPath expression that points to it — in bracket notation, dot notation, and as an RFC 6901 JSON Pointer — so you don't have to hand-count array indices or guess at quoting rules for a property name with a space in it. It's the reverse of JSONPath Tester: instead of writing an expression and seeing what it matches, you click the value you want and get the expression back.
The three path formats
- Bracket notation (
$['store']['book'][0]) — the most broadly compatible JSONPath form; works for any key name, including ones with spaces or punctuation. - Dot notation (
$.store.book[0]) — shorter and more readable, used automatically wherever a key is a valid identifier; falls back to bracket notation for keys that aren't. - JSON Pointer (
/store/book/0) — the RFC 6901 format used by tools likejq's--arg path, OpenAPI$refs, and JSON Patch.
FAQ
Which format should I copy?
Bracket notation is the safest default — it's what most JSONPath libraries (including this site's own JSONPath Tester) produce and accept without any ambiguity. Reach for dot notation when you're writing it by hand and want something shorter, and JSON Pointer specifically when the tool you're feeding it into expects RFC 6901 rather than JSONPath.
Does this handle huge documents?
Everything renders in your browser with no size limit enforced, but very large documents (tens of thousands of nodes) will feel slower to expand — use "Collapse all" and drill into just the branch you need.
Try it yourself
Once you have a path, confirm it matches what you expect with JSONPath Tester, or check the document's overall shape with JSON Formatter.