CurlyJSON
Tools

JSONPath Playground

Type a query — results update live. Standard RFC 9535 syntax, big numbers kept exact, nothing uploaded.

TrySyntax cheat sheet
JSON
Result

Test JSONPath the standard way

Try queries against real data before you put them in code, configs or API tests.

RFC 9535 standard
Filters, slices, recursive descent and functions exactly as the IETF spec defines them — no library quirks.
Live results
See matches as you type, with the count and a clear message pointing at any syntax mistake.
Every path, copyable
The Paths view shows where each match lives. Copy one, or all as RFC normalized paths.
Exact numbers
Results keep 64-bit IDs and number formatting exactly as written, even in comparisons.
Safe by design
No eval and no script expressions — a query can never run code in your browser.
Private & free
Runs in your browser. Share links keep data after the #, which is never sent to a server.

Frequently asked questions

Which JSONPath syntax does this use?+

The IETF standard, RFC 9535 — the same syntax newer libraries and databases are adopting. It covers dot and bracket names, wildcards, recursive descent (..), indexes, slices, filters with && || ! and comparisons, and the functions length(), count(), match(), search() and value().

How do I filter an array?+

Use [?…] with @ for the current item: $.store.book[?@.price < 10] returns cheap books, and $..book[?@.isbn] returns books that have an isbn. Combine conditions with && and ||. The older form [?(@.price < 10)] works too.

How do I get the last item of an array?+

Use a negative index: $.items[-1]. Slices work like Python: $.items[-3:] is the last three, $.items[::-1] is the array reversed. Script expressions such as [(@.length-1)] are not part of the standard and are not run, for safety.

Can I copy the path of each result?+

Yes. The Paths view lists every match with its exact location, like $.store.book[2].title. Click a path to copy it, or copy all of them in the RFC normalized form $['store']['book'][2]['title'].

Is my JSON uploaded?+

No. Queries run in your browser, and large numbers stay exact. Your last document and query are remembered locally on your device; Clear removes them.