Omnikit
DevFilesMoneyAll tools
Ctrl K
Dev toolsFile toolsMoney calculatorsAll tools
HomeDeveloper toolsJSONPath Tester
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

JSONPath Tester

dev

Run RFC 9535 JSONPath queries on pasted JSON and see every match highlighted

Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.

JSONPath picks values out of JSON with a short expression. $.store.book[*].author returns every author, $..price every price at any depth, and $..book[[email protected] < 10] only the books under 10. This tester follows RFC 9535, the 2024 standard, and highlights each match in the formatted JSON.

Next:
  • JMESPath Tester Run JMESPath queries on pasted JSON, as the AWS and Azure CLI --query does
  • JSON Formatter & Validator Format, validate, minify and sort JSON with exact error positions

How to test a JSONPath expression

1

Paste JSON into the JSON pane, or press Try an example.

2

Type a query in the JSONPath box, or pick one from Examples.

3

See the matches marked on the Highlighted tab, or open Results for each path and value.

4

Press Copy values for the matches as a JSON array, or Copy paths.

About the JSONPath Tester

This JSONPath tester runs a query against JSON you paste and shows the result three ways: a list of matching values, the normalized path to each match, and highlights on the matches inside the formatted document. The result updates as you type, so you can build an expression one step at a time and see where it goes wrong.

The engine implements RFC 9535, the JSONPath standard published by the IETF in 2024. It supports the root $, dot and bracket child access, the recursive descent operator .., wildcards, array indexes including negative ones, slices such as [1:5:2] and [::-1], and filter expressions with ==, !=, <, <=, >, >=, &&, || and !. The five standard functions are included: length(), count(), value(), match() and search(), where the last two take regular expressions in the I-Regexp form. Queries that break the standard's type rules, such as comparing a query that can return several nodes, are rejected with a message saying why.

Many older libraries, including the original 2007 JSONPath and Jayway for Java, differ from the standard in small ways: some need parentheses around filters, as in [?(@.price < 10)], which still works here; some allow script expressions or extra functions, which RFC 9535 does not. If a query from a library's documentation is rejected, the message usually names the difference.

Invalid JSON is reported with the line and column of the first problem. Numbers are read as JavaScript numbers, so integers larger than 2^53 lose precision, and a repeated key keeps its last value.

What it does not do: JMESPath or jq syntax, editing the JSON, or fetching a URL. Everything runs in your browser. Related tools: JSON Formatter, JSON Diff, JSON to TypeScript.

Frequently asked questions

How do I filter a JSON array by a value with JSONPath?

Use a filter selector: $.items[[email protected] == 'active'] keeps the items whose status is active. The @ stands for each item in turn. Combine conditions with && and ||, compare numbers with < and >, and write [email protected] on its own to keep items that have an email field at all.

What is the difference between . and .. in JSONPath?

A single dot takes a child of the current node, so $.store.book reads one level at a time. Two dots search at every depth, so $..price finds every price field anywhere in the document, including inside arrays. Recursive descent is convenient but can match more than intended on large responses.

Which JSONPath standard does this tester follow?

RFC 9535, published by the IETF in February 2024, which is the first formal JSONPath standard. Queries written for older libraries mostly work, including filters wrapped in ?( ), but script expressions and library-specific functions are not part of the standard and are rejected with an explanation.

How do I get the last element of an array in JSONPath?

Use a negative index: $.items[-1] is the last element and $.items[-2] the one before it. A slice with a negative start also works, so $.items[-3:] returns the last three. Indexes past the end simply return nothing rather than an error.

What is a normalized path?

A normalized path is the one exact location of a match, written in a fixed form defined by RFC 9535, such as $['store']['book'][0]['title']. Each result shows its normalized path, which is useful for pointing to a value in a bug report or a test assertion.

Can I use regular expressions in a JSONPath filter?

Yes, with match() and search(). match(@.code, 'A[0-9]+') needs the whole string to fit the pattern, while search(@.name, 'smith') finds it anywhere. Patterns use I-Regexp, a portable subset of regular expressions, so shortcuts such as \d and lookaheads are not accepted.

Still stuck? Ask about JSONPath Tester and anybody who knows can answer. No account needed.

Common uses

  • JSONPath EvaluatorEvaluate a JSONPath expression and get the matching values and their paths

Same job, other tools: SPDX License Checker – Check the license field of a package.json against the SPDX list, as npm does.

On the related tools: Readability Checker – Flesch reading ease and grade level, with what to change.

Related tools

All developer tools
package.json ValidatorCheck a package.json the way npm reads it: name, version, license, dependencies and syntaxTitle Tag and Meta Description CheckerTitle and meta description length in characters and pixels, and where Google cuts themTest Credit Card NumbersSandbox card numbers from Stripe and Razorpay with expiry and CVV, and a Luhn checkerRegex TesterTest JavaScript regular expressions with live highlighting and a plain-English explanationDiff CheckerCompare two texts side by side and see every added and removed lineJSON DiffCompare two JSON documents and list every added, removed and changed valueOpen Graph PreviewPaste a page and see the share card for Facebook, LinkedIn, X, WhatsApp and SlackKeyword Density and ReadabilityWord and phrase counts, densities, reading time and a Flesch readability score
Was this tool helpful?
Omnikit

Small jobs, done in your browser. Free, fast and private. Files are never uploaded.

Files

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Money

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuidesQuestionsAboutHow we checkLaw library (beta)PrivacyTermsDisclosureContactMore: Exam practice (UGC NET Paper 1)Runs in your browser. Nothing is uploaded. © 2026 Omnikit (theomnikit.com)