Boneyard Tools

JSON Path Finder

Paste JSON, then type a path such as $.users[0].name to pull the value out, pretty-printed with two-space indentation. Array indices, a leading $ and quoted keys for names with dots are all supported. Below the path box, every leaf path in the document is listed and clickable, so you can find the exact route to a value without guessing.

How to find a JSON path

  1. Paste your JSON into the editor, or click Load sample to try it with example data.
  2. Type a path in the Path box, like $.users[0].name (it defaults to $, the whole document).
  3. Read the extracted value in the Value box below, formatted as JSON.
  4. Or click any entry in the All paths list to drop it into the Path box instantly.
  5. Use the Copy button to grab the value; a red message appears if the JSON is invalid or the path is wrong.

Examples

Read a nested array value

{"users":[{"name":"Ada"},{"name":"Linus"}]}
$.users[1].name  ->  "Linus"

Pull a number out of an array of objects

{"store":{"items":[{"sku":"A1","price":3.5}]}}
$.store.items[0].price  ->  3.5

Read a key that contains a dot

{"items":[{"in.stock":true}]}
$.items[0]["in.stock"]  ->  true

Frequently asked questions

What path syntax does it accept?

Dot and bracket notation, with or without a leading $. For example $.store.items[0].sku, store.items[0].sku, and a.b.c all resolve to the same value. A bare $ returns the whole document.

How do I read a key that contains a dot or special characters?

Use a quoted bracket key. For a key named "in.stock" write ["in.stock"], for example $.items[0]["in.stock"]. Single quotes work too, and the quotes let the key hold dots, spaces or brackets safely.

Does it support wildcards, filters or recursive descent?

No. This finder resolves one concrete path to one value, so full JSONPath features like [*], ..name or [?(@.price>5)] are not supported. It is built for pinpointing a single known value, not querying many at once.

How are values displayed?

Values are printed as JSON with two-space indentation, so strings keep their quotes, objects and arrays are laid out on multiple lines, and numbers, true, false and null appear as written.

What does the path list show?

Every leaf path in the document in $.a.b[0] form, including array indices, with the count shown in a header. A leaf is any primitive, null, or an empty object or array. Click any path to drop it into the Path box and see its value.

What happens if the path does not exist?

You get a clear amber message saying which key was missing or which index was out of range, and where in the document it stopped, instead of a silent empty result. For instance an out-of-range index reads Index [5] out of range at $.users.

How does it tell a missing key from a null value?

A key set to null is a real value and resolves cleanly, showing null. Only a key that is truly absent, or an index past the end of an array, raises a not-found error.

Is there a size limit on the JSON?

There is no fixed limit. Parsing and lookups run in your browser, so the ceiling is your device memory, and typical documents resolve instantly as you type.

Is my JSON sent to a server?

No. Parsing and path lookups happen entirely in your browser, so your data never leaves your machine, even for private API responses or config files.

Learn more

Related tools