JSONPath Tester

Test JSONPath expressions against JSON data and see matching results.

[
  "Moby Dick",
  "Hamlet",
  "Clean Code"
]

What is the Free JSONPath Tester?

The free JSONPath Tester lets you run JSONPath queries against any JSON document and see the matching results instantly. Paste your JSON into the JSON Data textarea, type a JSONPath expression into the Expression input — like $.store.books[*].title — and the matching values appear in the Results panel with a count. Six quick example chips demonstrate the most useful path patterns so you can learn by example or get started without writing a query from scratch.

  • Extract specific fields from large, deeply-nested API JSON responses
  • Test JSONPath expressions before embedding them in code (Python jsonpath-ng, JS jsonpath-plus)
  • Query specific array elements or object properties from config or data files
  • Learn JSONPath syntax by experimenting with the built-in example chips
  • Debug data transformation pipelines that use JSONPath-based field extraction

How to Use the Free JSONPath Tester

  1. 1 Paste your JSON document into the JSON Data textarea on the left. A red ✗ Invalid JSON badge appears if your JSON contains syntax errors.
  2. 2 Type a JSONPath expression into the JSONPath Expression input field — for example $.store.books[*].title or $..price.
  3. 3 Or click one of the quick example chips: "All book titles", "First book", "Last book", "Store name", "First two books", or "All prices (deep)".
  4. 4 The matching results appear in the Results panel as a JSON array. The result count is shown in brackets.
  5. 5 Click Copy JSON to copy the full results array to your clipboard.

Key Features

  • 🔍
    Full JSONPath support
    Supports $, ., .., [*], [n], [-n] (last items), [n:m] (slice), and bracket notation — all standard operators.
  • Live results
    Results update instantly as you type the expression — no button press required.
  • 💡
    6 quick examples
    Pre-built chips for all titles, first item, last item, deep search, slice, and more.
  • JSON validation
    Validates your JSON input in real time and shows clear error messages for invalid syntax.
  • 📋
    Copy results
    Copy the full JSON results array to your clipboard with one click.

Example Usage

Example Input
$.store.books[*].title
Example Output
["Moby Dick", "Hamlet", "Clean Code"]

Frequently Asked Questions about the Free JSONPath Tester

What is the free JSONPath Tester?
Test JSONPath expressions against JSON data and see matching results.
Is the JSONPath Tester free to use?
Yes, the JSONPath Tester is completely free. No account, subscription, or signup is required — ever.
Does my data get uploaded anywhere?
No. The JSONPath Tester runs entirely in your browser. Your data is never sent to any server.
Does it work offline?
Yes. Once the page has loaded, the tool works without an internet connection.
Which browsers are supported?
All modern browsers — Chrome, Firefox, Safari, and Edge. No plugins or extensions required.
What JSONPath operators does this tool support?
The tool supports: $ (root), . (dot-notation child), .. (recursive descent — search at any depth), * (wildcard — all children), [n] (array index), [-n] (negative index from end), [n:m] (array slice), and ['key'] (bracket notation). Filter expressions (?(expression)) are not currently supported.
What is the difference between . and .. in JSONPath?
. is the standard child operator — $.store.name navigates one level at a time. .. is the recursive descent operator — $..price searches for a "price" key at any depth throughout the entire document. Use .. when you don't know how deep the field is nested.
Can I use negative array indices like [-1]?
Yes. [-1] selects the last element of an array, [-2] the second-to-last, and so on. Click the "Last book" quick example chip to see it in action with the built-in sample JSON.

Related Free Developer Utilities