List All JSON Paths
Walk a JSON document and list every path it contains, with the type and optionally the value at each one. Choose dot notation for readability, RFC 6901 JSON Pointer for standards work, or bracket notation for code you are about to write.
How to list every path in a JSON document
- Paste your JSON, or drop a file onto the input pane.
- Pick the notation you need. Pointer form is what JSON Patch and schema validation errors use; dot form is easier to read.
- Switch Include to Objects and arrays too when you want the structure, not just the leaves.
- Turn on Show values to get a flat audit of the whole document.
- Copy the list, or switch Output as to a JSON array to feed it into another tool.
What each notation is for
- Dot — the most readable, and what most people mean by "the path to that field". Ambiguous when a key itself contains a dot.
- JSON Pointer (RFC 6901) — the standard, unambiguous form. Keys containing
/or~are escaped as~1and~0. Use it anywhere a spec is involved. - Bracket — always unambiguous and pastes straight into JavaScript or Python indexing.
Useful for
- Finding a field in an unfamiliar payload — list the paths, then search the output.
- Writing a filter or patch — copy the exact path instead of guessing at nesting.
- Comparing two payloads' shapes — list both, diff the path lists, and see structural drift without value noise.
- Auditing for sensitive fields — with values shown, one pass tells you where the personal data sits.
Privacy
Nothing is uploaded. The conversion runs in this tab using your own browser's JavaScript engine — no server sees your data, and the page keeps working with the network disconnected.
FAQ
Why is the root shown as an empty pointer?
Because RFC 6901 defines the empty string as the pointer to the whole document. In dot and bracket notation the root is just $.
How does it handle very large documents?
Every leaf produces one line, so a megabyte of JSON produces a lot of output. Use Leaf values only and leave values off to keep it manageable, or narrow the input first with Extract.
Can I resolve one of these paths back to its value?
Yes — copy a pointer into JSON Pointer, which resolves it and explains any failure.