Unsupported input
The tool may reject input that does not match the expected content, structure, or file type.
Fix: Confirm the tool input requirements and paste the correct type of data.
header • up to 320x100 / 728x90
Test JSONPath expressions against JSON data
Use a dedicated source pane plus a query field and structured result list.
content bottom • up to 300x250
sidebar • 160x600
Last reviewed:
JSON (JavaScript Object Notation) is a lightweight, human-readable data format used almost everywhere on the web for APIs, config files, and log output.
JSONPath Tester evaluates JSONPath expressions against a JSON document you paste, returning the matched nodes alongside their path, index, and type. The evaluator implements the IETF JSONPath RFC 9535 spec.
The tool highlights which parts of the source document each path segment matches, so you can build up complex expressions one segment at a time and see exactly which nodes your filter would return.
Start with the jSON Path input you want to process in JSON Path Tester.
Get a jSON Path result from JSON Path Tester that is ready to review, copy, and reuse in the next step of your workflow.
The tool may reject input that does not match the expected content, structure, or file type.
Fix: Confirm the tool input requirements and paste the correct type of data.
Missing fields or partial content can block processing or produce weak results.
Fix: Provide the full required input before running the tool.
Sample or placeholder values can lead to output that looks valid but is not ready for real use.
Fix: Replace placeholders with your actual values before relying on the result.
IETF RFC 9535 — the standardized JSONPath spec finalized in 2024. That's the spec most modern implementations (JMESPath, jq's --compact-output, Kubernetes jsonpath=) converge on. The subtle differences between legacy Goessner JSONPath and RFC 9535 are documented in the help panel.
`..` is recursive descent — it visits every node at every depth. `.*` is a wildcard that matches one level only. For example, `$..price` finds every `price` property anywhere in the document, while `$.items.*.price` finds price only inside direct children of `items`.
Yes. The `?(...)` filter syntax is fully supported with standard operators (==, !=, <, <=, >, >=) and logical combinations (&&, ||). Arithmetic (+, -, *, /) on matched fields also works inside filters.
Comfortably up to 10 MB of JSON. Larger documents are loaded with virtualized rendering so the UI stays responsive, but evaluation time scales linearly with document size — filter expressions on 100MB+ documents are better run server-side.
Use bracket notation with the index: `$.items[0]` for the first item, `$.items[-1]` for the last. JSONPath also supports slices like `$.items[0:3]` for the first three items or `$.items[::2]` for every other item.
No — evaluation runs entirely in the browser using an embedded JSONPath engine. Your data never leaves your device, which matters when you're exploring sensitive API responses or logs.
Continue the workflow with related tools for jSON Path, adjacent input and output steps, or other utilities in the same category. You can also browse the full Visual & Testing Tools category for more options.
View and explore JSON data
Test XPath expressions against XML
Test and debug regular expressions
Test internet ping, download speed, and upload speed in your browser with a live gauge, connection details, and same-origin Mbps measurements.
Flatten nested JSON into single-level key/value pairs using dotted or custom separator paths
Flatten any JSON document into a list of JSONPath-style leaf paths and values
Rebuild nested JSON from a flat map of dotted keys and array-index paths
Encode JSON for URL parameters
Compare two texts and highlight differences
View and preview HTML
Strip comments, null values, and empty strings to produce compact, production-ready JSON
Encode or decode JSON strings