JSONPath Tester, Evaluator & Online Playground
Paste your JSON and a JSONPath expression, and the tester evaluates the query against the document in real time, listing every match and counting how many nodes the path selected. Expressions run on every keystroke, so you can iterate a filter until it returns exactly the subset you need without leaving the page.
This is the tool for building the exact query you will later use in jq-style pipelines, JMESPath fields in cloud tools, CI assertions, JSONPath-based rule engines, or runtime code that extracts values from API payloads. It is equally good for debugging a query that looks right but returns nothing, or for exploring an unfamiliar document by writing recursive-descent queries like $..id to survey every identifier in the tree.
The full JSONPath surface is supported: root ($), child (.key and ["key"]), array index and slice ([0], [1:3], [-1]), wildcard (*), recursive descent (..), and filter expressions ([?(@.price > 10)]). The example dropdown seeds common patterns so you can compare your query against a known-good baseline, and invalid expressions produce a specific error message rather than a silent empty result.
The data and the query stay in your browser — nothing is sent to a server at any point.
About JSONPath Tester
Test and debug JSONPath expressions against your data in real time. Instantly see matching results with a count of matches. Includes quick-access example queries to learn the syntax.
- Real-time evaluation as you type
- Match count displayed automatically
- Built-in examples: filters, wildcards, recursive descent
- Supports the full JSONPath specification
- Clear error messages for invalid expressions
100% client-side. Your inputs never leave your browser. Ads via AdSense (consent required).
Frequently asked questions
How do I query JSON with JSONPath?
Paste your JSON and write a JSONPath expression like $.store.book[0].title or $..author. The tool evaluates the query against the document and returns matching nodes in real time. It supports the usual operators: child (.), recursive descent (..), wildcard (*), array slicing ([0:3]), filter expressions ([?(@.price < 10)]) and multi-key selection ([title,author]). Results are shown as a JSON array of matches.
Is the JSONPath evaluator free?
Yes, fully free with no signup. Run unlimited queries against JSON of any size your browser can load. JSONCraft is free across every tool — formatter, viewer, JSONPath, converters — no premium tier and no query cap. Power users run it all day to explore API responses without writing ad hoc JavaScript.
Does the JSONPath tool upload my JSON?
No. Both the JSON document and the query expression stay in your browser. The evaluator runs locally in JavaScript with no network call. That's important because real queries often target production API payloads containing tokens or customer data; you can explore them safely without leaking anything.
Can I use filter expressions and recursive descent?
Yes. Recursive descent $..book matches any 'book' key at any depth, which is often what you want when the structure varies. Filter expressions like $..book[?(@.price < 10)] evaluate a predicate against each candidate node using @ as the current item. Array slicing [0:5], negative indices [-1:], and union selectors [0,2,4] also work as in the standard Goessner spec.
When should I use JSONPath instead of jq?
JSONPath is simpler and browser-native — great for quick ad hoc exploration and for embedding queries in tools or config. jq is a full programming language with variables, functions and transformations; better when you need to reshape output, not just select. If you're exploring or pulling specific values, JSONPath is faster; if you're producing a transformed document, reach for jq.
Related guides
- JSON Pointer and JSON Patch — RFC 6901 and RFC 6902 ExplainedJSON Pointer is a standardized path syntax. JSON Patch is a standardized diff format. Both are tiny, both are universally supported, and both save you from reinventing them.
- JSONPath vs JMESPath vs jq — When to Use EachThree JSON query languages, three different sweet spots. A practical comparison of JSONPath, JMESPath, and jq with real queries and when to reach for each.