Tools
JSON Path Finder v3
JSON Input

No JSON loaded

Paste, upload, or fetch JSON. Click nodes for paths; Ctrl+click to queue multiple paths.

Click any node in the tree to see its path formats here
Ctrl+click nodes to multi-select paths, or use the + button.
Guide & FAQs below · Site footer

JSON Path Finder

Test JSON path expression online before using it in Python, Java, Notepad++, Postman, or JavaScript. Learn JSONPath syntax, paste JSON, enter a query, and instantly see matching values — free and private in your browser.

Read full guide

What is a JSONPath expression?

A JSONPath expression is a query string that selects one or more values inside a JSON document — similar to how XPath selects nodes in XML. Every expression begins with $ (the document root), then uses dot notation, brackets, wildcards, and optional filters to navigate objects and arrays.

For example, the JSONPath expression $.users[0].email reads the email of the first user. The expression $.products[*].price returns every product price in a catalog. Use this tool to type an expression in the path tester bar and see matches highlighted instantly.

JSONPath syntax explained

JSON path syntax combines a small set of operators. Use . (dot) for object properties, [n] for array indexes, and [*] when you need every array element. Add .. (double dot) for deep search when the field name may appear at any nesting level.

Filter expressions — written as [?(@.field op value)] — let you keep only array items that match a condition, such as prices above a threshold or orders with a given status. JSON Path Finder v3 supports filters, slices, and recursive queries in the interactive tester.

  • Start with $ — the root of your JSON document
  • Chain properties with dots: $.store.book
  • Index arrays with [0], [1], or [*] for all items
  • Search deeply with ..: $..author finds every author key
  • Filter arrays in v3: $.items[?(@.inStock == true)]

JSON path expression online

Use this page as your JSON path expression online tester: paste API or config JSON, type an expression like $.data.items[*].id, and see every match highlighted in the tree. No install, no signup — works in Chrome, Firefox, Edge, and Safari.

Validate expressions before pasting them into Postman tests, REST client scripts, CI pipelines, or production code. The path tester bar gives instant feedback so you catch typos and wrong indexes early.

JSON path expression in Python

For a JSON path expression in Python, use libraries such as jsonpath-ng or jsonpath-rw. After you confirm an expression here (e.g. $.users[*].email), use it in code: from jsonpath_ng import parse then parse("$.users[*].email").find(data).

In v3, click any node and copy the Python export format from the path panel — ready to paste into scripts, pytest assertions, or data pipelines. Test wildcard and filter expressions here first; Python library support for filters varies by package.

JSON path expression in Java

For a JSON path expression in Java, the Jayway JsonPath library is widely used: JsonPath.read(jsonString, "$.store.book[*].author"). Test complex paths — especially $..field and filters — in this tool before adding them to Spring Boot tests, Kafka consumers, or REST clients.

Copy the Java/Jayway format from the v3 path panel after selecting a node. Example: $.orders[?(@.total > 100)] selects high-value orders — verify matches visually, then use the same string in JsonPath.read().

JSON path expression in Notepad++

Notepad++ does not evaluate JSONPath natively, so use this JSON path expression online tester to validate queries while editing JSON files in Notepad++. Paste your file contents here, build the path in the tree or tester bar, then copy the result back to your notes or scripts.

For quick edits in Notepad++, install a JSON plugin for formatting and syntax highlighting. For non-trivial expressions — wildcards ($..), filters, or multi-match paths — always test online here first rather than guessing bracket indexes by hand.

JSONPath syntax reference

Syntax Meaning
$ Root element — every JSONPath expression starts here
. Child operator — $.parent.child selects a nested property
[] Bracket subscript — [0] for index, ["key"] for property name
[*] Wildcard index — all elements in an array
.. Recursive descent — search all descendants (e.g. $..sku)
* Wildcard — all properties or all array members at a step
@ Current node — used inside filter expressions
[?(expr)] Filter expression — keep nodes matching a condition (v3)
[start:end] Array slice — e.g. [0:3] for the first three items (v3)

What you can do

  • Interactive JSON tree explorer
  • Click-to-copy JSONPath
  • JSONPath expression tester online
  • Export paths for Python, Java, Postman & JavaScript (v3)
  • Dot, bracket, jq & JS formats
  • Wildcard & filter support (v3)
  • JSON compare & export
  • 100% client-side — no upload

Examples

All book titles in a store

Input

{"store":{"book":[{"title":"Sayings of the Century"},{"title":"Sword of Honour"}]}}

Expression

$.store.book[*].title

Result

["Sayings of the Century", "Sword of Honour"]
First user name

Input

{"users":[{"name":"John","age":25},{"name":"Amy","age":30}]}

Expression

$.users[0].name

Result

"John"
All product prices (deep search)

Input

{"catalog":{"items":[{"sku":"A1","price":9.99},{"sku":"B2","price":14.5}]}}

Expression

$..price

Result

[9.99, 14.5]

Common JSONPath expression examples

JSONPath expression What it selects
$ The root object of the JSON document
$.store.book The book array nested under store
$.store.book[0].title Title of the first book
$.users[*].name Every name field from all users
$.metadata.tags[*] Every tag in the metadata.tags array
$..price Every price field anywhere in the document (recursive)
$.items[?(@.qty > 0)] Array items where qty is greater than zero (v3 filter)
$.orders[?(@.status == "shipped")].id Order IDs with status shipped (v3)

JSONPath vs JSON Pointer

JSON Pointer (RFC 6901) is a single static path like /users/0/name — great for patch operations. JSONPath supports wildcards, filters, and recursive descent ($..), making it better for querying and extracting data from variable JSON shapes.

JSONPath vs jq

jq is a full command-line language for transforming JSON. JSONPath is a simpler query syntax supported by many libraries and APIs. Use this tool to test JSONPath before wiring it into Postman, Python, Java, or JavaScript.

About JSON Path Finder

JSON Path Finder is a free online JSONPath tester and evaluator. Paste JSON, explore it in an interactive tree, click any node to copy its path, or type a JSONPath expression in the tester bar to see matching values instantly.

Use it to debug API responses, extract nested fields from config files, learn JSONPath syntax with live examples, and copy paths in JSONPath, dot notation, bracket notation, jq, or JavaScript formats. Everything runs locally in your browser — your data never leaves your device.

How to use JSON Path Finder

  1. Paste your JSON into the input panel (or load the built-in sample).
  2. Browse the interactive tree and expand objects or arrays to find the value you need.
  3. Click any node to copy its JSONPath, or type an expression like $.users[*].name in the path tester.
  4. Review highlighted matches in the tree and copy paths in JSONPath, jq, dot, or JS format.
  5. Add multiple paths to the copy queue and export them together, or compare two JSON documents in v3.

Related tools on CodeDevForge

  • Diff Checker → — Compare two blocks of text or code side-by-side. See additions, removals...

Frequently asked questions

What is a JSONPath expression?
A JSONPath expression is a string that selects nodes inside a JSON document. It starts with $ (the root), then uses property names, array indexes, wildcards (*), recursive descent (..), and optional filters to reach the data you need. Example: $.users[*].name selects every user name.
What is JSON path syntax?
JSON path syntax is the set of operators in a JSONPath expression: $ for root, . for child properties, [n] and [*] for array access, .. for recursive search, and [?(@.field op value)] for filters. Combine them to build expressions like $.store.book[0].title or $..price.
How do I write a JSONPath expression?
Start with $, then add each step: $.order.customer.name for nested objects, $.items[0] for the first array item, $.items[*].sku for every SKU, or $..total to find all total fields anywhere. Paste JSON here and use the path tester to verify your expression.
How do I find a value in JSON?
Paste your JSON into this tool, locate the value in the tree, and click it to copy the JSONPath. Alternatively, type a JSONPath in the tester bar — for example $.store.book[0].title — to jump directly to matching nodes.
How do I select all objects from a JSON array?
Use the wildcard index [*] after the array name. For example, $.users[*] selects every object in the users array, and $.users[*].name returns every name field.
Is this JSONPath Finder free?
Yes. JSON Path Finder is completely free on CodeDevForge. No signup, no upload, and no usage limits for normal-sized JSON documents.
Does my JSON get uploaded to a server?
No. Parsing, tree rendering, path extraction, and JSONPath evaluation all happen locally in your browser.
What path formats can I copy?
JSONPath ($.a.b), dot notation (a.b), bracket notation (["a"]["b"]), jq (.a.b), and JavaScript property access (.a.b).
Can I test wildcard and filter expressions?
Yes. Use * for all array elements, .. for recursive descent, and filter expressions like [?(@.price > 10)] in the v3 engine.
How do I use a JSON path expression in Python?
Test the expression here first, then use jsonpath-ng: parse("$.users[*].name").find(your_dict). In v3, copy the Python export from the path panel after clicking a node.
How do I use a JSON path expression in Java?
Validate the path in this online tester, then use Jayway JsonPath: JsonPath.read(json, "$.users[*].name"). v3 exports a Java-ready format from the selected path panel.
Can I test JSON path expressions for Notepad++?
Notepad++ cannot run JSONPath itself. Paste your JSON here, build and test the expression online, then copy the path and matched values back into your Notepad++ workflow or scripts.
Is there a free JSON path expression online tester?
Yes. This tool is a free JSON path expression online tester — paste JSON, type any JSONPath, see live matches, and copy paths for Python, Java, Postman, or JavaScript with no account required.