{}JSONFiddleEditor
Tools/

JSON Path Finder

Explore all paths in your JSON. Copy as JSONPath, JQ, or JSONata expression.

JSON Input
25 paths

From cursor position to query expression

Path Finder recursively walks your JSON structure and builds a flat index of every reachable value -- objects, arrays, strings, numbers, booleans, and nulls. Each entry maps a canonical JSONPath expression (e.g., $.store.books[0].title) to the value at that location. Click any row to copy the path as a JSONPath, JQ, or JSONata expression, ready to paste into a query tool, shell pipeline, or transformation script. The path list updates live as you edit the JSON, so you can explore deeply nested or unfamiliar payloads without memorizing the structure.

How to use it

  1. 1Paste your JSON in the left editor. Paths are computed on every keystroke -- no button needed.
  2. 2Choose your target syntax: JSONPath ($.store.books[0]), JQ (.store.books[0]), or JSONata (store.books[0]).
  3. 3Use the filter box to narrow by path segment or value substring.
  4. 4Click any row to copy the expression to your clipboard.

The mechanics

  • Three expression syntaxesToggle between JSONPath (RFC 9535 bracket notation), JQ (pipe-friendly dot notation), and JSONata (lightweight query language). The same internal path drives all three.
  • Instant path enumerationThe walker runs synchronously on every input change via useMemo, so paths appear as you type -- no debounce lag.
  • Type-colored value previewsEach value is color-coded by type (string, number, boolean, null, object, array) using CSS custom properties, so you can scan for the right node at a glance.
  • Substring filteringThe filter searches both paths and value previews, case-insensitively. Useful for finding a field name when you know the value but not the nesting depth.
  • Click-to-copyOne click copies the expression in your selected syntax. A checkmark confirms the copy without disrupting your position in the list.

Real-world scenarios

  • Crafting JQ filtersExploring a large API response? Find the path visually, copy the JQ expression, and pipe it straight into your terminal.
  • Building JSONata transformsNode-RED, Stedi, and other integration platforms use JSONata. Copy the expression instead of hand-writing nested dot notation.
  • Debugging nested configsKubernetes manifests, Terraform state files, and package-lock.json can be hundreds of levels deep. Path Finder flattens them into a searchable list.
  • Documenting API response shapesCopy paths into your API docs or test assertions to reference exact locations in a payload.

Expression output for the same path

// Given JSON:
{ "store": { "books": [{ "title": "Clean Code" }] } }

// JSONPath:  $.store.books[0].title
// JQ:        .store.books[0].title
// JSONata:   store.books[0].title

Questions

How deep does the walker go?

It recurses through every object key and array index with no depth limit. Extremely large documents (100K+ nodes) may slow the browser since the walk is synchronous, but typical API responses process in under a millisecond.

Does this execute the path expression against the data?

No. Path Finder generates expressions -- it does not evaluate them. To run a JSONPath or JQ query against your data, use the Query tool.

Why bracket notation for JSONPath?

Bracket notation ($["store"]["books"][0]) is unambiguous for keys that contain dots, spaces, or special characters. The tool uses dot notation where safe and falls back to brackets otherwise.

Related tools