JSONPath Tester Online — Free JSONPath Query & Visualizer

JSON Path Tester

Query and extract data from JSON documents using JSONPath.

Free online JSONPath tester, query evaluator, and path visualizer for backend engineers and API developers. Paste any JSON object or array to test RFC 9535 JSONPath expressions in real time. Extract deeply nested properties using dot-notation, bracket syntax, slice ranges, recursive descent ($..key), and complex comparison filter expressions ($[?(@.price < 20 && @.inStock)]). Inspect real-time match counters, structural path recommendations, and evaluation previews without delay. Perfect for crafting API contract assertions, payload selectors, and ETL pipeline queries. Runs entirely client-side in your browser.

Keywords: jsonpath tester, jsonpath online, jsonpath query, jsonpath visualizer, jsonpath filter, jsonpath wildcard, json path tester, json path query, query json, extract json, jsonpath, json path

Tags: json, jsonpath, query, extract, path, jq, tester

Browse all 41 Developer Tools tools →

How to JSON Path Tester Online

  1. Paste your JSON into the left input panel, or upload a .json file.

  2. Enter a JSONPath expression in the Path field (e.g., $.store.book[*].title).

  3. Press ⌘↵ to run the query and see matching results in the output panel.

  4. Use filters like $[?(@.price < 10)] to filter by values, or wildcards like $[*] to iterate arrays.

  5. Copy results with ⌘⇧C, or share the URL with your query encoded.

JSON Path Tester Features

  • JSONPath query execution using RFC 9535-compliant jsonpath-plus library.

  • Real-time query results as you type with zero input latency.

  • Path suggestions and auto-complete generated dynamically from your JSON structure.

  • Filter expressions: $[?(@.price < 10)] for numeric, $[?(@.category == 'fiction')] for string comparisons.

  • Wildcards and array slicing: $[*], $[0:2], $[-1:], and custom step intervals.

  • Recursive descent operator: $..author to find all matching keys across all depth levels.

  • Match count summary showing total extracted elements and matched JSON nodes.

  • Bracket notation ($['store']['book']) and dot notation ($.store.book) cross-compatibility.

  • Detailed error feedback for malformed JSONPath expressions or invalid filter syntax.

  • Works entirely in your browser — no JSON is ever sent to any server.

  • Keyboard shortcut support: ⌘↵ to execute query, ⌘⇧C to copy results, ⌘⇧K to reset.

All Guides
All Standards
AI Model Token Pricing

Explore Full AI Model Pricing Directory

Compare per-token rates, prompt caching discounts, and context windows across leading LLMs (GPT-4o, Claude 3.5 Sonnet, Gemini 2.5 Flash, DeepSeek, and more) in our verified catalog.

Frequently Asked Questions

What is JSONPath and how does it work?
JSONPath is a standardized query language (RFC 9535) for navigating, filtering, and extracting data from JSON documents, analogous to XPath for XML. It uses expressions starting with the root identifier $ followed by property selectors (dot or bracket notation), wildcards (*), and filter predicates.
What does $.store.book[*].title mean?
This expression accesses the 'store' object, then the 'book' array, iterates through all items with [*], and returns each book's 'title' field. The result is an array containing all book title strings from the document.
How do I filter JSON with JSONPath filter expressions?
Use the filter expression syntax $[?(@.field op value)] where @ refers to the current node and op is a comparison operator (<, >, ==, !=, <=, >=). For example, $[?(@.price < 10 && @.inStock == true)] filters items where price is below 10 and inStock is true.
What is the recursive descent operator ($..)?
The double dot (..) is a recursive descent operator that searches for a specified property name at any depth in the JSON tree. For instance, $..id retrieves every 'id' property across all nested objects and arrays in the entire JSON payload.
Can I use wildcards and slices in JSONPath?
Yes. $[*] iterates over all elements of an array, $.store.* matches all properties in the store object, and $[0:3] slices the first three elements of an array. Negative indices like $[-2:] extract the last two elements.
How does JSONPath compare to jq?
While jq is a full-featured CLI transformation language with procedural programming features, JSONPath is a lightweight query and selector syntax supported natively across many programming languages (JavaScript, Python, Java, Go) and API gateways.
Is my JSON payload secure when using this tool?
Yes. All JSONPath parsing, evaluation, and visualization execute 100% locally in your browser using client-side JavaScript. No payload data or query strings are ever transmitted to any external backend server.
Can I extract multiple disjoint values with JSONPath?
Yes. You can use union operators like $..['title','price'] or bracket lists $[0,2,4] to extract multiple specific properties or array elements in a single expression.

Developer Reference & Learning Hubs