JSONPath · Query Engine

Every field, pinpointed.

Paste an API response, type a JSONPath expression, and watch matching values light up — live syntax checks, recursive descent, code-style autocomplete. Nothing leaves your browser.

  • 100% client-side — zero uploads
  • Live error highlighting
  • Smart path autocomplete
jsonpathhub — surveyor's desk no data
JSON Source
JSONPath Query
Results — normalized array
// Matches appear here — valid JSON plus a path expression.
// Results are always a JSON array, one entry per match.
§ 01 — FIELD NOTES

Built for deep JSON terrain

The tools you reach for when an API returns more structure than you expected.

Syntax Pre-Check

JSON is parsed before evaluation. The moment a bracket goes missing, the exact line and column light up — with the offending source shown inline.

Recursive Descent Engine

A hand-written recursive-descent evaluator walks your tree: dots, brackets, wildcards, unions, slices and [?(@…)] filters — computed locally, instantly.

Live Autocomplete

Type $. and the next level of keys appears — objects suggest properties, arrays suggest [*], indices and slices. It reads your actual data, not a static list.

Normalized Results

One match or one thousand — output is always a clean JSON array with index, type tag and value preview. Copy the whole set, or a single station, in one click.

§ 02 — REFERENCE SHEET

JSONPath syntax cheat sheet

Every operator the engine supports, with a copy-ready example.

SyntaxMeaningExampleReturns
$Root node$.storethe store object
@Current node in filter[?(@.price > 10)]filter context
.nameChild member$.store.bicycleone level down
..nameRecursive descent$..authorall authors, any depth
.* / [*]Wildcard$.store.book[*]every element
[n] / [-n]Index (neg = from end)$.store.book[-1]last element
[a,b]Union$.store.book[0,2]elements 0 and 2
[a:b:s]Slice$.store.book[1:3]elements 1–2
[?(cond)]Filter expression$..book[?(@.isbn)]books that have isbn
== != < >Comparisons[?(@.total >= 100)]numeric compare
=~ /re/Regex match[?(@.name =~ /Turing$/)]pattern match
&& ||Logic[?(@.a && @.b || !@.c)]combine conditions
§ 03 — FIELD MANUAL

Frequently Asked Questions

How do I extract a value from JSON using JSONPath?

Paste your JSON into the left pane, then type a path like $.store.book[0].title in the query bar. The engine parses the expression, walks the JSON tree and shows every matching value in the results pane. Click Copy as JSON to take the whole match set with you.

What is the difference between . and .. in JSONPath?

A single dot is a direct child step: $.store.book only looks one level down. A double dot is recursive descent: $..author visits every descendant at any depth and collects all properties named author — perfect when items are nested unpredictably, like log payloads.

How do I filter JSON arrays with conditions?

Use a filter expression in brackets, for example $.orders[?(@.status == 'shipped')].total. Inside the parentheses, @ refers to the element being tested; you can compare fields with == != < <= > >= and regular expressions, and combine conditions with && and ||.

Why are results always returned as an array?

Normalizing output keeps tooling predictable: one match and fifty matches have the same shape, so downstream code never needs a special case. JSONPathHub displays every match with its index and lets you copy the full result set as a JSON array.

How does the autocomplete work?

As you type, the editor evaluates the path you have already written against your live JSON and lists the keys available at that position — objects suggest their property names, arrays suggest [*], indices and slices. Press Tab or Enter to accept a suggestion, or keep typing to filter the list.

Is my JSON data uploaded anywhere?

No. Parsing, path evaluation and autocomplete all run in your browser with client-side JavaScript. Nothing is transmitted, logged or stored, so the tool is safe for production API responses, customer records and internal logs.

Which JSONPath syntax does this tool support?

The core RFC 9535-style syntax: root $, child .name and ['name'], recursive descent ..name, wildcards .* and [*], array indices including negative ones, unions like [0,2], slices like [1:3] or [::2], and filter expressions [?(@.price < 10)] with comparison, regex and logical operators.

How do I select the last element of an array?

Use a negative index: $.store.book[-1] counts from the end. Slices work too — [-2:] returns the last two elements, and [:-2] returns everything except the last two. Autocomplete offers -1 and [*] as soon as your cursor sits inside a bracket.

Latest Articles

Extract Nested Array Values from API JSON Using JSONPath
Master how to extract nested array values from API JSON responses using JSONPath. Simplify complex data parsing with our expert guide and JSONPath tools today!
Extract Nested API Data with Online JSONPath Evaluator
Extract deeply nested API response data using our online JSONPath evaluator. Enjoy live autocomplete for faster query testing. Try the free tool right now!
Extract Nested API Arrays Using JSONPath Recursive Descent
Learn to extract nested array items from paginated API responses using JSONPath recursive descent and filter expressions. Test our JSONPath tools online!
Validate and refine JSONPath queries for nested API data structures using an online tester with real-time syntax validation
The Dangerous Assumption Behind Static JSONPath Strings Developers routinely copy JSONPath expressions from documentation snippets, paste them into pr
JSONPath Filter: Extract Nested Array Objects by Value
Learn how to use JSONPath filter expressions to extract nested array objects matching specific property values. Master JSONPath tools and query data today!
JSONPath Regex Filters: Extract Nested Array Objects
Learn to use JSONPath regex filters to extract nested array objects from API responses. Master data parsing with our top JSONPath tools. Read the full guide!
JSONPath Recursive Descent: Extract Deeply Nested API Data
Learn to extract deeply nested JSON data from API responses using JSONPath recursive descent operators. Master our JSONPath tools and simplify parsing now!
JSONPath Tester: Flatten Nested APIs with Recursive Descent
Master the JSONPath tester with our guide on recursive descent queries. Learn to flatten nested API responses and extract data fast. Start testing today!
How to extract specific nested values from complex API responses using JSONPath regex filters and array slicing?
The Bruteforce Trap vs. The Precision Strike Parsing an API response used to mean drowning in nested objects, hunting for keys across multiple layers,
Extract Nested Array Elements | Online JSONPath Evaluator
Need to extract specific nested array elements from API responses? Use our online JSONPath evaluator to easily query and filter JSON data. Try it today!
Extract Nested API Array Values | Online JSONPath Evaluator
Learn how to extract specific nested array values from paginated API responses using our online JSONPath evaluator. Test your queries and extract data now!