Expanded JSON click to generate paths
JSONPath Variants — click any path to test it
Absolute dot notation
—
Bracket ['key'] notation
—
Deep Scan recursive descent
—
Array Wildcard [*] nearest index
—
Filter Search [?(@.label == '...')] text filter
—
Test JSONPath Expressions:

Explore JSONPath Extractor Features

Extract values from nested JSON, generate JSONPath expressions automatically, and test JSONPath queries directly in your browser.

How to Use the JSONPath Extractor

Extract data from JSON and test JSONPath expressions in three simple steps.

  1. Paste Your JSON

    Paste or type your JSON document directly into the editor pane on the left. The built-in parser automatically validates formatting, highlights syntax errors in real time, and renders an interactive, collapsible tree view on the right.

  2. Generate or Enter a JSONPath

    Input your target JSONPath query in the sandbox input field, or simply click the copy icon next to any node in the tree viewer to automatically generate absolute, bracket, deep scan, wildcard, and filter expressions.

  3. View the Extracted Data

    Instantly inspect matched nodes, arrays, or primitive values in the output console below. The tool calculates match counts and displays formatted results in real time with zero network latency.

Automatically Generate JSONPath Expressions

Finding the correct JSONPath expression manually can be difficult when working with large and deeply nested JSON documents. This tool makes it easier by displaying your JSON as an interactive tree.

Click a property or value in the JSON tree to generate its JSONPath. The extractor can provide multiple path variants, including absolute paths, bracket notation, recursive descent, array wildcards, and filter expressions.

Copy the generated expression and use it in your application, API tests, scripts, automation workflows, or development tools.

Extract JSON Data with JSONPath

JSONPath makes it easy to extract specific values from deeply nested JSON. Start with the root symbol $ and use property names, array indexes, wildcards, recursive descent, and filters to select the data you need.

Example JSON

{
  "users": [
    {
      "name": "John",
      "age": 30,
      "email": "john@example.com"
    },
    {
      "name": "Sarah",
      "age": 25,
      "email": "sarah@example.com"
    }
  ]
}

Extract all user names

Use the following JSONPath expression:

$.users[*].name

The result is:

["John", "Sarah"]

You can use the JSONPath Extractor above to experiment with this expression and test it against your own JSON documents.

JSONPath Examples

Explore and test common JSONPath queries for navigating nested objects, arrays, filters, and recursive searches. Click Test on any query to load and evaluate it in the sandbox above.

Common JSONPath Examples (Interactive)
JSONPath Expression Query Purpose Interactive Test
$ Select the entire root JSON object or array.
$.store.book[*].title Extract the titles of all books in the store.
$.users[*].name Extract the name of every user from the users array.
$.store.book[0] Select the first item from an array.
$.users[*] Select all items in the users array using a wildcard.
$..email Find all email properties recursively at any depth.
$.store.book[?(@.price < 10)] Filter books with a price strictly below 10.
$.store.bicycle Access a nested object property.

JSONPath Syntax and Operators

Learn the most commonly used JSONPath operators for navigating JSON, selecting arrays, matching properties, recursively searching nested data, and filtering results.

Common JSONPath Operators and Expressions
Operator Name Description Example Expression
$ Root Object Represents the root object or array from which all JSONPath expressions originate. $ or $.store.book
@ Current Node Refers to the current element being processed in a filter predicate or array iterator. [?(@.price < 20)]
.. Recursive Descent Deep scan selector that traverses recursively across all child and descendant levels to find matching keys. $..author or $..price
[*] Array Wildcard Matches all elements contained in an array, or all property values within an object. $.store.book[*]
[?()] Filter Expression Applies a logical boolean expression to filter items within an array or collection. $.store.book[?(@.category == 'fiction')]
* Wildcard Matches any property name or value at the current hierarchical level. $.store.*
['key'] Bracket Notation Selects a property by string key; essential for keys containing spaces, hyphens, or special characters. $['store']['bicycle']
[start:end:step] Array Slice Extracts a slice of array elements using start, end, and optional step indices. $.store.book[0:2]

JSONPath Root Operator

The $ symbol represents the root of a JSON document. For example, $.user.name selects the name property inside the root-level user object.

JSONPath Wildcard

The * wildcard matches properties or array elements at the current level. For example, $.users[*].name extracts the name property from every item in the users array.

JSONPath Recursive Descent

The .. operator searches recursively through nested objects and arrays. For example, $..email can locate email properties regardless of their depth within the JSON document.

JSONPath Filter Expressions

Filter expressions allow you to select array elements based on conditions. For example, $.products[?(@.price < 100)] selects products whose price is less than 100.

RFC 9535 Standard & Dialect Compatibility

In 2024, the IETF formalized JSONPath as RFC 9535. This extractor conforms to the RFC 9535 query specification powered by the modern JSONPath-Plus engine, providing high-fidelity evaluation compatible with JavaScript, Node.js, Python, Java, and CLI environments.

JSONPath Specification Compatibility Matrix
Feature RFC 9535 Standard JSONPath-Plus Engine ExtractJSONPath Support
Root Selector ($) ✓ Standard ✓ Supported ✓ Full
Dot & Bracket Notation (.prop, ['prop']) ✓ Standard ✓ Supported ✓ Full
Array Wildcards (*, [*]) ✓ Standard ✓ Supported ✓ Full
Recursive Descent (..) ✓ Standard ✓ Supported ✓ Full
Array Slicing ([start:end:step]) ✓ Standard ✓ Supported ✓ Full
Comparison Filters ([?(@.price < 20)]) ✓ Standard ✓ Supported ✓ Full
Matched Node Path Coordinates Extension ✓ Supported ✓ Full (Values & Paths)
Regular Expression Predicates (=~ /.../) Extension ✓ Supported ✓ Supported

Need exact node coordinates? Switch the output viewer from Values to Matched Paths to inspect the exact normalized path strings (e.g. $['store']['book'][0]) for all matched items across the document.

What is JSONPath?

JSONPath is a query language for navigating and extracting data from JSON documents. It provides expressions for selecting properties, array elements, nested objects, and values from complex JSON structures.

JSONPath is often compared to XPath for XML. Developers commonly use it when working with REST API responses, configuration files, application logs, automated tests, and other structured JSON data.

Instead of manually traversing a JSON object in code, a JSONPath expression lets you describe exactly which data you want to retrieve.

Common JSONPath Use Cases & Integrations

JSONPath is widely utilized across web development, DevOps automation, API quality assurance, and ETL pipelines:

⚡

REST & GraphQL APIs

Extract nested response fields from microservice API endpoints without writing custom traversal scripts. Quickly inspect status attributes, user identifiers, and pagination cursors.

🧪

Postman & API Testing

Prototype and validate JSONPath selectors before writing test assertions in Postman, Newman, Playwright, or Cypress test suites.

☸️

Kubernetes (kubectl)

Test query expressions for kubectl get pods -o jsonpath='{...}' commands to inspect pod IPs, container images, node labels, and cluster state.

🔀

Webhooks & Event Payloads

Filter event payloads from Stripe, GitHub Actions, Shopify, or AWS EventBridge by matching specific event attributes or status codes.

📊

ETL & Log Processing

Query and transform streaming JSON records, parse cloud application logs in Datadog or AWS CloudWatch, and isolate error stacks.

🔒

100% Private Client-Side Debugging

Debug proprietary or production JSON payloads safely. Because all processing executes in your browser without sending network requests, your sensitive data remains completely confidential.

Why Use This JSONPath Extractor?

  • Automatic JSONPath generation: Click JSON nodes to generate useful path expressions.
  • Interactive JSON tree: Explore deeply nested JSON without manually searching through raw text.
  • JSONPath testing: Enter your own expressions and immediately inspect the results.
  • Multiple path formats: Generate absolute, bracket, wildcard, recursive, and filter expressions.
  • Private: JSON processing happens directly in your browser.
  • No account required: Open the tool and start working with JSON immediately.

Private JSONPath Testing

Your JSON stays in your browser. JSON parsing, JSONPath generation, and query evaluation are performed locally on your device. Your JSON payload is not uploaded to our servers.

This makes the tool useful for testing API responses, configuration files, development data, and other JSON documents that you may not want to send to a third-party service.

Frequently Asked Questions About JSONPath

What is JSONPath?

JSONPath is a query language used to navigate and extract data from JSON documents. It provides expressions for selecting properties, arrays, nested objects, and values.

What is a JSONPath extractor?

A JSONPath extractor is a tool that uses JSONPath expressions to select and extract specific data from a JSON document.

How do I extract a value from JSON?

Paste your JSON into the extractor and use a JSONPath expression to identify the value you want. For example, $.user.name selects the name property from a user object.

How do I extract all values from a JSON array?

Use the JSONPath wildcard operator. For example, $.users[*] selects every item in the users array, while $.users[*].name extracts the name from every user.

Can I test JSONPath expressions online?

Yes. Paste your JSON into the JSONPath Extractor, enter a JSONPath expression, and the matching results are displayed immediately.

Is this JSONPath extractor free?

Yes. The JSONPath Extractor is free to use and does not require an account.

Is my JSON uploaded to a server?

No. JSON processing is performed locally in your browser and your JSON payload is not uploaded to our servers.