Skip to content
JSON Runs offline

JSONPath Tester

Query a JSON document with a JSONPath subset: dot/bracket paths, wildcards, slices, recursive descent, and filters.

Input

0 chars

Output

0 chars
Ctrl

Questions

What part of JSONPath does this tool actually support?

A deliberately bounded subset: $ for the root; .key or ['key'] for child access; [n] for a non-negative array index; [*] for a wildcard over every array element or object value; ..key for recursive descent (find that key at any depth); [start:end] for an array slice with ordinary JS-slice semantics (end exclusive, start/end optional, negative offsets allowed); and [?(...)] filters comparing @.field to a JSON literal or another @.field using == != < > <= >=, or a bare @.field as a truthy/existence check. Segments chain left to right, e.g. $.store.book[?(@.price<10)].title.

What JSONPath features are NOT supported?

Multi-key unions like $.a['x','y'], function calls such as length() or count(), and any script/filter expression beyond the single comparison form described above are all unsupported and will either fail to parse or simply not match. Negative indices are also unsupported for the plain [n] index form specifically (only for slices) - use a slice like [-1:] instead of [-1] if you need the last element.

How are missing fields handled in filters, e.g. @.isbn==null?

A field that is absent entirely resolves to 'undefined', not JSON null, so a comparison against it (other than !=) is treated as false rather than matching. @.isbn==null will only match an item that explicitly has "isbn": null, not one that omits the isbn key altogether - this mirrors how the underlying JS property lookup behaves and is a deliberate simplification rather than full JSONPath-spec null coercion.

Is there a limit on how large a document or how broad an expression can be?

Yes - evaluation stops and throws a clear error after visiting 5000 nodes, so a huge document combined with a very broad wildcard or recursive-descent expression (e.g. ..key over tens of thousands of nested objects) will hit that cap instead of freezing the tab. Ordinary bookstore-sized JSON documents are far below this limit.

Open JSON Formatter

JSON Formatter

Format, indent and inspect JSON with clear error reporting.

JSON
Open JSON Diff

JSON Diff

Compare two JSON documents and see every key that changed.

JSON
Open JSON Validator

JSON Validator

Check whether JSON is valid and see exactly where it breaks.

JSON