JSONPath & JMESPath Tester — Query JSON Online Query JSON live with JSONPath or JMESPath.
100% offline
JSON330 chars
Results3 matches
[
  "Sayings of the Century",
  "Sword of Honour",
  "Moby Dick"
]
3 matches

About JSONPath & JMESPath Tester — Query JSON Online

JSONPath and JMESPath are query languages for pulling values out of a JSON document — the JSON equivalent of XPath for XML. They're indispensable for picking a field out of a sprawling API response, drilling into a config file, or extracting a list of values without writing a parser by hand.

This free JSONPath and JMESPath tester runs your query against any JSON document live and shows the matched nodes as you type. JSONPath supports recursive descent, wildcards, and filter expressions; JMESPath adds projections, pipes, and built-in functions. Switch languages with one click. Everything runs entirely in your browser — your JSON never leaves your device.

Features

  • Live results as you type — no run button
  • Switch between JSONPath and JMESPath instantly
  • JSONPath filters, wildcards, and recursive descent ($..)
  • JMESPath projections, pipes, and functions
  • Clear errors for invalid JSON or invalid queries; fully offline

How to use

  1. Paste or type a JSON document into the left pane.
  2. Pick a query language with the JSONPath / JMESPath toggle.
  3. Type a query in the bar and watch the matched nodes update live on the right.
  4. Copy the matched results with the Copy button.

Frequently asked questions

What is the difference between JSONPath and JMESPath?

Both query JSON, but the syntax differs. JSONPath (e.g. $..book[*].title) mirrors XPath with $ as the root, .. for recursive descent, and [?(@.price<10)] filters. JMESPath (e.g. store.book[*].title) has no leading $, uses projections and pipes, and ships a standard library of functions like length() and sort_by(). Pick whichever matches the tool or library you are targeting.

Is my JSON sent to a server?

No. The query runs entirely in your browser using local JavaScript — your JSON document and queries never leave your device, so it is safe for sensitive API responses and config files. It also works offline.

Why does my query return no matches?

Usually the path does not exist in the document or the syntax belongs to the other language. JSONPath paths start with $; JMESPath paths do not. Check the match count and the results pane — an empty array or null means the query was valid but matched nothing.

What does the $.. operator do in JSONPath?

The .. is recursive descent: it searches the whole document at any depth. For example $..author finds every author field no matter how deeply nested, and $..book[*] returns all book elements anywhere in the tree.

Everything runs locally in your browser — your input is never uploaded.