Free JSONPath Evaluator & Tester
Test, debug, and explore JSONPath expressions against any JSON data instantly - right in your browser. RFC 9535-compliant, fully client-side JSONPath tester - no sign-up, no tracking, no data ever leaves your browser.
Related Developer Tools
Last updated: May 25 2026
Reviewed by the QuickTooly Team
JSONPath Evaluator Guide
Why Use QuickTooly's JSONPath Evaluator?
- RFC 9535-compliant: Built on jsonpath-plus, covering the 2024 standard - not the 2012-era implementation found on older sites.
- Instant evaluation: Results appear immediately as you click Evaluate - no page reloads.
- Private & secure: Your JSON data stays entirely in your browser - zero server uploads.
- Clear results: Matches are displayed as formatted JSON with a count badge so you always know how many nodes matched.
- Example chips: Quick-start expressions let you explore common patterns without memorizing syntax.
- 100% free: No limits, no registration, no watermarks.
Your JSONPath Evaluator at a Glance
- RFC 9535 standard: Evaluates expressions against the 2024 IETF specification - consistent, interoperable results every time.
- Instant feedback: No page reload, no latency - results render the moment you click Evaluate.
- Format JSON: One-click pretty-printer cleans up minified JSON before you run your query.
- Match count badge: Always shows exactly how many nodes matched, so you can confirm your expression is as specific as intended.
- One-click copy: Copy all matched results to clipboard with a single button - paste directly into your code or test suite.
- Example chips: Seven built-in expression shortcuts let you explore common patterns in seconds.
- Mobile-ready: Works on any device or screen size - test JSONPath expressions on the go.
Common JSONPath Use Cases
JSONPath expressions appear wherever JSON data needs to be queried or validated. Here are the most common real-world scenarios where this tester comes in handy:
- REST API testing (Postman / Newman): Write assertions against response bodies using JSONPath - e.g.
$.data[0].idto verify the first result's identifier. - AWS Step Functions: InputPath, OutputPath, and ResultPath parameters all accept JSONPath expressions. Test them here before deploying your state machine.
- Spring Boot & Java:
MockMvcResultMatchers.jsonPath()takes JSONPath expressions in integration tests - verify paths without spinning up the full server. - Kubernetes manifests: Tools like
kubectland Kyverno policies use JSONPath for field selection - draft and validate paths against real manifest JSON. - JMESPath migration: Switching from JMESPath (AWS CLI) to JSONPath? Test equivalent expressions side by side to confirm identical results before updating your code.
- Data pipeline debugging: Quickly inspect nested event payloads from Kafka, SQS, or webhooks to find the exact key path before wiring it into your transformation logic.
What is JSONPath?
JSONPath is a query language for JSON - the JSON equivalent of XPath for XML. It lets you extract specific values from any JSON document using a concise path expression, without writing loops or custom parsing code.
Originally proposed by Stefan Goessner in 2007 and formalized as RFC 9535 in 2024, JSONPath is widely used in REST APIs, test frameworks, and data pipelines.
A JSONPath expression always starts with $, representing the root of the JSON document. From there you can navigate using dot notation ($.store.name), bracket notation ($['store']['name']), wildcards, filters, and recursive descent operators.
JSONPath Syntax Reference
| Operator | What it does | Example |
|---|---|---|
$ | Root element | $ |
. | Child operator | $.store.name |
.. | Recursive descent - searches all levels | $..price |
* | Wildcard - matches any element or key | $.store.* |
[n] | Array index (zero-based) | $.book[0] |
[start:end] | Array slice | $.book[0:2] |
[?(@.x)] | Filter expression - @ refers to current node | $[?(@.price < 10)] |
['key'] | Bracket notation - for keys with special characters | $['my-key'] |
Common JSONPath Examples
$.store.book[*].author- all authors in the book array$..price- every price field at any depth$.store.book[0]- first book object$.store.book[?(@.price < 10)]- books cheaper than $10$..*- every value in the entire document$.store.book[-1]- last book in the array
JSONPath Best Practices
- Prefer specific paths over
$..*: The recursive wildcard walks every node in the document. On large payloads this is slow and returns far more than you need - use it only for exploration, then replace with a targeted path in production. - Always start expressions with
$: RFC 9535 requires the root identifier. Omitting it is the most common cause of "no matches" errors. - Use bracket notation for special characters: Keys containing hyphens, spaces, or dots must use
$['my-key']syntax - dot notation will silently fail to match. - Test filter expressions with real data: Filter expressions like
[?(@.status == "active")]are case-sensitive and type-sensitive - paste representative data to confirm your expression before using it in CI or production.
How to Use This JSONPath Evaluator
- Paste your JSON into the input area - or click "Format JSON" to pretty-print it first
- Enter a JSONPath expression starting with
$, or click one of the example chips to get started - Click Evaluate (or press Enter in the expression field) to run the query
- Review results - matched values are shown as formatted JSON with a match count
- Copy results with one click to use in your tests, docs, or code
Frequently Asked Questions
What is the difference between JSONPath and jq?
JSONPath is a query/selection language that extracts matching values from a JSON document. jq is a command-line JSON processor that also supports transformations and complex data manipulation. For simple extraction, JSONPath is usually simpler; jq is more powerful for scripting and transformation.
Does JSONPath support filter expressions?
Yes. Use [?(@.field == value)] syntax to filter array elements. For example, $.books[?(@.price < 20)] returns all books with a price under 20. The @ symbol refers to the current node being evaluated.
What is RFC 9535 and why does it matter?
RFC 9535 is the IETF standard for JSONPath published in 2024. It clarifies ambiguous behavior from the original 2007 proposal, especially around filter expressions, recursive descent, and result ordering. Tools built against the RFC produce consistent, interoperable results across implementations.
Is my JSON data sent to a server?
No. All evaluation happens locally in your browser using the jsonpath-plus library. Your data is never transmitted, stored, or logged anywhere.
Can I use JSONPath with arrays at the root level?
Yes. If your JSON is an array, $[0] returns the first element, $[*] returns all elements, and $[?(@.id == 1)] filters by property.
What happens when my JSONPath expression matches nothing?
The evaluator returns an empty result set and shows a "No matches found" message. This is not an error - it simply means no nodes in the JSON document satisfy your expression. Double-check key names for typos and ensure array indices are within range.
Start Evaluating JSONPath Expressions Today
Whether you're writing REST API tests, debugging AWS Step Functions, or validating Kubernetes policies, QuickTooly's free JSONPath evaluator gives you instant, RFC 9535-compliant results - no setup, no account, no cost. Paste your JSON, enter an expression, and get answers in seconds.