Skip to main content

JSONPath Tester

Test JSONPath expressions against sample JSON with live match counts and per-node copy.

Free & unlimited
Mode
Samples
JSONPath expression
4 matches
JSON input
Matches
$.store.book[0].author
"Nigel Rees"
$.store.book[1].author
"Evelyn Waugh"
$.store.book[2].author
"Herman Melville"
$.store.book[3].author
"J. R. R. Tolkien"
All processing happens in your browser. No data is sent to any server.

About this tool

  1. 1

    Paste JSON data

    Paste or upload the JSON document you want to query.

  2. 2

    Write a JSONPath expression

    Enter a JSONPath query like $.store.book[*].author in the query field.

  3. 3

    View matched results

    Matching nodes are highlighted in the JSON tree and listed in the results panel.

  4. 4

    Iterate and refine

    Adjust your query and see results update in real time until you get the exact match.

  • Use $.store.book[?(@.price < 10)] to filter array items by a condition.
  • The recursive descent operator .. searches all levels: $..author finds every author field.
  • Array slicing works like Python: $[0:3] returns the first three elements.
  • Wrap string comparisons in single quotes: [?(@.status == 'active')].
  • Real-time JSONPath query evaluation as you type
  • Interactive JSON tree with matched nodes highlighted
  • Supports standard JSONPath syntax including filters, slices, and recursive descent
  • Query history for quick access to previous expressions
  • Displays match count and extracted values in a results panel
  • Test JSONPath expressions before using them in code or API integrations
  • Extract specific data points from large JSON API responses
  • Debug JSONPath filters that are not returning expected results
  • Learn JSONPath syntax with immediate visual feedback on real data
JSONPath uses dot notation ($.store.book) and is common in Java/.NET ecosystems. jq uses pipe-based syntax and is a standalone CLI tool popular in shell scripting.
Yes. Use [?(@.field == value)] syntax to filter arrays by field values, including comparisons like <, >, and regex matches.
Yes. Use recursive descent ($..items) to match at any depth, or chain array accessors like $.data[0].items[*].name.

Related tools

View all

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy