Find a tool

↑↓ navigate Enter open

Use a task word when you do not know the exact name.

JSON Query with JMESPath

Local only

Paste a JSON document, enter a JMESPath expression, and run a local query. The result is JSON you can copy or download. Processing runs in a cancellable browser Worker, with a 2 MiB input limit and a 30-second timeout.

Reviewed · Updated · Free to use · No account required

Input
Output
Processing stays in this tab. Engines load from this site when you run the tool.

What does the JSON Query with JMESPath do?

Paste a JSON document, enter a JMESPath expression, and run a local query. The result is JSON you can copy or download. Processing runs in a cancellable browser Worker, with a 2 MiB input limit and a 30-second timeout.

When should you use this tool?

Use JSON Query to select or reshape data. Use JSON Formatter to inspect syntax and JSON Diff to compare complete documents. Keep the original file when exact numeric lexemes matter.

How do you use it?

  1. Paste JSON or open a local JSON file up to 2 MiB.
  2. Enter an expression such as users[?age >= `18`].name and select Run.
  3. Check the result, then copy or download it; run again after changing the input or expression.

Worked example

Extract adult users by name

Input

{"users":[{"name":"Ada","age":32},{"name":"Linus","age":17}]}
Expression: users[?age >= `18`].name

Output

[
  "Ada"
]

The filter selects users whose age is at least 18 and projects their name values.

Common errors and fixes

SymptomLikely causeFix
A missing field returns null.The selected path does not exist in this JSON value.Inspect the document structure and spelling; null can be a valid query result.
The expression reports a syntax error.JMESPath syntax differs from JavaScript and JSONPath.Use backticks for JSON literals and double quotes around nonstandard identifiers.

Supported behavior and limitations

This tool uses JMESPath Community syntax, not JSONPath or arbitrary JavaScript. JSON numbers use ordinary JavaScript precision; keep large IDs as strings. No network requests from expressions are supported.

Standards and implementation references

Frequently asked questions about JSON Query

Is my input uploaded?

No. Processing happens in a browser Worker. Engine files load from this website; tool input, output, and filenames are not sent to a processing API.

Do I need an account or API key?

No account, API key, or backend processing service is needed.

How do I save a result?

Review the result, then use the Copy or Download control available for that output. Modifying input clears stale results.

What are the limits?

This tool uses JMESPath Community syntax, not JSONPath or arbitrary JavaScript. JSON numbers use ordinary JavaScript precision; keep large IDs as strings. No network requests from expressions are supported.

What changed?

Added local processing, explicit size limits, cancellation, worked examples, error explanations, and downloadable results.

Who maintains this tool?

KL
KitLumi EngineeringKitLumi Engineering maintains tool behavior, privacy disclosures, examples, and automated tests.

How to filter a JSON array and export selected fields →