Developer Tools· 4 min read

JSONPath Tester: Query and Extract from JSON Live

Write a JSONPath expression, run it against your JSON, and see exactly which values it selects.

By EasyDevTools Team Last updated: 2026-08-24

What JSONPath solves

APIs return deeply nested JSON, and most of the time you only want a few values buried inside it. JSONPath is a small query language — the JSON equivalent of an XPath — that lets you describe a path to those values instead of writing loops to walk the structure by hand.

The catch is that a JSONPath expression is easy to get subtly wrong: a wildcard in the wrong place, a filter with the wrong bracket style, or a recursive descent that matches more than you expected. Without immediate feedback you cannot tell whether the expression is right until it fails in code.

This tester runs your expression against your own JSON and highlights the matches live, so you can refine the path until it selects exactly what you need.

See it in action

JSONPath syntax essentials

A handful of tokens cover most real queries:

| Token | Meaning |

| --- | --- |

| the root marker | the top of the document |

| a dot then a key | a child property by name |

| square brackets with an index | an array element |

| a wildcard | every element or property at that level |

| a double dot | recursive descent, matching at any depth |

| a filter expression in brackets | elements matching a condition |

Recursive descent is the most powerful and the most dangerous: it searches every level, so it can match items you did not intend if the same key appears in more than one place.

How to use the tester

Paste your JSON document into the input panel.

Type a JSONPath expression in the query box.

The matching values appear instantly; an invalid expression is flagged so you can correct it.

Copy the matched values or the expression once it selects what you want.

Refining an expression

Start broad and narrow down. Begin with a path to the array you care about, confirm it returns the whole array, then add an index or a filter to select within it. Testing each step against real data catches the moment the expression stops matching, which is far faster than debugging a silent empty result in application code.

When a query returns nothing, check the two usual causes first: a key spelled differently than in the data, or an array where you expected an object (or the reverse).

Common mistakes

Assuming keys are case-insensitive. JSONPath keys must match the JSON exactly.

Overusing recursive descent, which quietly matches duplicate keys elsewhere in the document.

Confusing array index access with property access when a value is sometimes an object and sometimes a list.

Expecting a single value when the path actually matches an array of one — many libraries return a list regardless.

Where JSONPath is used

Extracting fields from an API response inside automation tools and no-code platforms.

Configuring log pipelines and monitoring rules that pull a value out of structured events.

Writing assertions in API tests that check a nested value without hardcoding array positions.

Transforming webhook payloads before forwarding them to another service.

Frequently asked questions

Q: Does JSONPath always return an array?

A: Most implementations return a list of matches even when only one value matches, so treat the result as a collection.


Q: Are keys case-sensitive?

A: Yes. A path must match the exact spelling and case of the keys in your JSON.


Q: Is my JSON uploaded?

A: No. The expression runs against your data locally in the browser.


Q: Why does recursive descent match too much?

A: It searches every level of the document, so any occurrence of the key anywhere is included. Anchor the path more specifically to avoid this.

Test your JSONPath now

Open the JSONPath Tester. For related JSON work, format with the JSON Formatter, derive types with JSON to TypeScript, or test patterns in the Regex Tester.

Need help using this tool?

Read our complete JSONPath Tester tutorial for step-by-step guidance.

Ready to try the tool?

No accounts. No uploads. No limits. Start now.