100% Client-side · Your JSON never leaves your browser

Test JSONPath Expressions Online

Query JSON with $..price, $.users[*].name, filters and slices. Live-preview matches in the tree.

JSON Tools

Choose your method.

Beautify — pretty-print with 2-space indentation. Cmd+Enter to run
Input 0 chars
Output
Mode
Indent

Paste JSON and it updates live.
Or press Cmd+Enter.

FAQ

JSONPath Tester — Frequently Asked Questions

JSONPath syntax, supported operators and how the tester compares to jq / JMESPath.

What is JSONPath and what is it used for?
JSONPath is a query language for JSON — like XPath for XML. It lets you select nodes by path ($.users[0].email), wildcard ($.users[*].name), recursive descent ($..price) and filters. Use it to extract data from large payloads without writing custom parsing code.
Which JSONPath syntax does this tester support?
Root ($), child (.key, ["key"]), index ([0], [-1], [*]), slicing ([a:b:c]), recursive descent (..key), and filters with > < >= <= == != && || on numeric and string literals.
Can I see JSONPath matches highlighted in a tree?
Yes. Each match lights up in the tree on the right and shows up in the result list. Click a tree node to fill its path into the query box — round-trip exploration without copy/paste.
What happens if my JSONPath expression is invalid?
You get an inline error card explaining what went wrong (unexpected token, unclosed bracket, unsupported operator, etc.) — no silent failures. Fix the expression and the live preview updates as you type.
Is my JSON data uploaded when running queries?
No. The JSONPath query runs against the JSON in your browser. We have no servers, no logs — your data and queries stay on your machine.
How does the JSONPath tester compare to JMESPath or jq?
JSONPath is simpler and more widely supported in browsers. For the 90% case (filter, project, recursive descent) it is the right tool. For complex aggregations and pipelines, prefer jq or JMESPath in your terminal.