Free JSON Path Finder

Explore nested JSON structures and find the exact path to any value in the tree. Free, fast, and works entirely in your browser with no sign-up required.

Updated

Share:
Home/Code Tools/JSON Path Finder

JSON Path Finder

Explore JSON structures, find paths to values, and query with JSONPath expressions. Supports wildcards, filters, recursive search, diff, flatten, and bulk extraction.

JSON Input

JSONPath Syntax Reference

Basic

  • $ - Root object
  • .property - Child property
  • [0] - Array index

Wildcards

  • [*] - All array items
  • .. - Recursive descent
  • [0,2,5] - Multiple indices

Filters

  • [?(@.price < 10)] - Filter by condition
  • [0:5] - Array slice
  • [-1:] - Last item

Privacy First: All processing happens locally in your browser. Your JSON data is never sent to any server.

Frequently Asked Questions

What is the JSON Path Finder?

The JSON Path Finder is a free online tool that lets you explore JSON data structures visually and find the exact path to any value.

Is the JSON Path Finder free?

Yes, it is completely free with no registration required. All processing happens client-side in your browser.

How does it help with JSON data?

The JSON Path Finder displays JSON as an interactive tree, letting you click on any value to see its full path notation for use in code.

Does the JSON Path Finder work on mobile devices?

Yes, the JSON Path Finder is fully responsive and works on smartphones and tablets. You can use it on any device with a modern web browser -- no app download required.

Do I need to create an account to use this tool?

No account or registration is needed. Simply open the JSON Path Finder in your browser and start using it immediately. There are no sign-up walls or usage restrictions.

How do I use the JSON Path Finder?

Simply enter your input in the provided field, adjust any settings to your preference, and the tool will process it instantly. You can then copy the result to your clipboard or download it.

Which browsers are supported?

The JSON Path Finder works in all modern browsers including Chrome, Firefox, Safari, Edge, and Opera. For the best experience, use the latest version of your preferred browser.

What is the difference between dot notation and bracket notation in a JSON path?

Both describe how to reach a value in JSON, just with different syntax. Dot notation chains keys with periods, like data.user.name, and is the compact form most JavaScript code uses. Bracket notation wraps each key in quotes and brackets, like data["user"]["name"], which is safer when a key contains spaces, dashes, dots, or other characters that would break dot access. The two are interchangeable for plain keys, so data.user and data["user"] point to the same value. For array elements you always use brackets with the index, such as items[0]. This tool lets you select any node in the tree and copies its path in dot notation, bracket notation, JSONPath, or Python form, so you can paste the exact syntax your language expects without rewriting it by hand.

What is JSONPath and what operators does it support?

JSONPath is a query language for JSON, similar in spirit to what XPath is for XML. A path starts with the root symbol $ and walks down the structure, so $.store.book[0].title reads the title of the first book. Beyond simple lookups it supports wildcards like $.store.book[*].author to return every author in an array, recursive descent with $..price to find a key at any depth, filters like $.store.book[?(@.price < 10)] to keep only matching items, and array slices and unions such as [0:3] for a range or [0,2] for specific indices. The Query tab here evaluates these expressions live against your pasted JSON and lists every match, making it a fast scratchpad for testing an expression before you drop it into code or automated tests.

How do I find every occurrence of a key buried at different depths in JSON?

Use recursive descent, written as two dots in a JSONPath expression. The pattern $..price matches a key named price wherever it appears, whether it sits at the top level, inside a nested object, or deep within an array of arrays, and returns all of those values at once. This saves you from manually expanding every branch to hunt for a field, which is tedious in large API responses or config files where the same key repeats across many records. Paste your JSON into the Query tab, type the recursive expression, and the tool lists each match along with where it was found. If you only need the location once, you can also use the search box to filter the tree by key, path, or value and narrow results to a single value type before copying the path you want.

How do I flatten nested JSON into key-value pairs for a spreadsheet?

Flattening turns a deeply nested object into a single flat map where each entry is a full path paired with its value, for example user.address.city mapped to its string. This is what you need when a destination expects flat keys rather than a tree, such as a CSV column layout, environment variables, or a tool that cannot read nested structures. The Flatten tab does this in one step and lets you choose the separator between path segments, so you can match the convention your target system uses. It can also reverse the process, rebuilding a nested object from flat path-to-value pairs, which is handy when you are importing data back from a spreadsheet. Everything runs locally in your browser, so even large payloads convert instantly without an upload. Paste your JSON and open the Flatten tab to try it.

How can I compare two JSON files to see what changed between them?

Open the Diff tab, paste one document on each side, and the tool compares them by path. It reports which paths exist only in the first document, which exist only in the second, and which appear in both, so you can immediately see fields that were added, removed, or are shared between the two versions. This is far quicker than scanning two payloads side by side and counting brackets, and it is especially useful for spotting what changed between two API responses, two config revisions, or a request and its expected fixture in a test. Because the comparison is path-based, it works even when keys are reordered, which a plain text diff would flag as noise. As with the rest of the tool, both documents are parsed locally and never leave your device. Paste your two JSON files into the Diff tab to see the differences.

About the JSON Path Finder

The JSON Path Finder is a free online tool for exploring nested JSON and pulling out the exact path to any value inside it. Paste, upload, or drag in a .json file and the tool renders it as an interactive tree. Click any value and it hands you the path notation you need to reach that value in code — no more counting brackets by hand or guessing how deeply a field is buried. It is built for developers, QA engineers, data analysts, and anyone who works with API responses, config files, or log payloads and needs to navigate them quickly.

Everything runs in your browser. The JSON you paste is parsed and explored locally on your device, so it is never uploaded to a server. That matters when you are inspecting a production API response, a payload with access tokens, or a config file you would rather not send anywhere. There is no sign-up, no size paywall, and nothing to install.

Finding and copying the right path

The core workflow is the Explorer tab. Your JSON is shown as a collapsible tree with color-coded type indicators, so objects, arrays, strings, numbers, booleans, and null values are easy to tell apart at a glance. Expand or collapse the whole structure with one click, or drill into a single branch. Selecting a node reveals its full path and the value stored there, ready to copy to your clipboard.

Because different ecosystems write paths differently, the tool can output the same path in several notations:

  • Dot notationdata.user.name, the form most JavaScript code uses
  • Bracket notationdata["user"]["name"], safe for keys with spaces or special characters
  • JSONPath$.data.user.name, the query-language form
  • Pythondata['user']['name'], for use in Python scripts

It also generates ready-to-paste access snippets for JavaScript, Lodash (_.get), and Python, so you can drop the path straight into your code.

Querying with JSONPath expressions

Beyond single-value lookups, the Query tab evaluates full JSONPath expressions against your data and returns every match. The built-in engine supports the operators you reach for most:

  • Wildcards$.store.book[*].author returns every author in an array
  • Recursive descent$..price finds a key at any depth, however nested
  • Filters$.store.book[?(@.price < 10)] keeps only items that meet a condition
  • Array slices and unions[0:3] for a range, [0,2] for specific indices

This turns the tool into a quick scratchpad for testing the JSONPath expressions you plan to use in code, automated tests, or tools like jq-style pipelines — without writing a script first. A search box also lets you filter the tree by key, path, or value and narrow results to a single value type.

Bulk extraction, diffing, and flattening

Three more tabs handle common data chores. Bulk takes a list of paths and pulls all of their values out of one document at once — handy for reducing a large response to just the fields a report needs. Diff compares two JSON documents and lists the paths present only in the first, only in the second, and in both, which is a fast way to spot what changed between two API versions or config revisions. Flatten converts a nested object into a flat map of path → value pairs (with a configurable separator) and can reverse the process, which is useful for spreadsheets, environment variables, or feeding data into tools that expect flat keys.

Recently used queries are saved locally in your browser's storage so you can rerun them, and you can export that history to a file. As with the rest of the JSON Path Finder, none of this data leaves your machine. Paste your JSON above to start exploring.