Make it readable
Pretty-print a compact response, choose the indentation, sort keys when useful, or minify it again.
JSON TOOLS
Open or paste JSON, pretty-print and validate it, and filter it with local jq — no upload needed. Field and function suggestions help you build queries. Your work stays on your Mac.
Free download. Requires macOS 14 or later.
WHAT IT HELPS WITH
Pretty-print a compact response, choose the indentation, sort keys when useful, or minify it again.
Parse and filter a JSON array with a jq query such as .services[] | select(.status == "degraded"), then copy or save the result.
See where invalid JSON needs attention and apply a supported repair only when you choose to. JSON validation and error reporting work offline.
TRY IT WITH JQ
Use this synthetic service response to try field suggestions and filter a JSON array with jq. Open JSON Tools in Dev Workbench, paste the sample into Input, and choose Format to make it readable.
When suggestions are open, Tab or Return accepts the selected entry. When they are closed, Return inserts a new query line; click Run to execute it. Formatting, suggestions, and jq processing stay on your Mac.
New to jq syntax? Read our interactive jq tutorial and playground to practice filters directly in your browser.
The response contains three services. Search Index is the only one with a degraded status.
{
"environment": "production",
"region": "eu-central-1",
"services": [
{
"name": "API Gateway",
"status": "healthy",
"latencyMs": 42,
"requestsPerMinute": 18420
},
{
"name": "Event Processor",
"status": "healthy",
"latencyMs": 87,
"requestsPerMinute": 7310
},
{
"name": "Search Index",
"status": "degraded",
"latencyMs": 246,
"requestsPerMinute": 5120
}
]
}In the jq query area, type .services[].. Choose name from the field suggestions and accept it with Tab or Return.
.services[].nameClick Run. Expected result:
"API Gateway"
"Event Processor"
"Search Index"
These are three separate JSON string results. Use [.services[].name] if you want one array.
Start with .services[] | sel and choose select from the function suggestions. Complete the query below, then click Run.
.services[] | select(.status == "degraded")Expected result:
{
"name": "Search Index",
"status": "degraded",
"latencyMs": 246,
"requestsPerMinute": 5120
}
select keeps the service whose status matches degraded. Use Copy Plain or Save JSON to keep the result.
LARGER JSON
For input above 1 MB, live formatting pauses so typing stays responsive. Use Format or Minify when you are ready.
For input above 5 MB, Live jq pauses. Use Run when you want the result.
Paste, edit, or open files up to 10 MB in Free. Pro can open a larger local file, up to 1 GB, in a read-only viewer. Move between pages, jump to a position, search the whole file, and run jq after the file is checked. Large-file results are limited to 100 MB.
ACCESS
FREE — INCLUDED
PRO — ADDS
LOCAL BY DEFAULT
Formatting, validation, repair, and jq run locally. JSON Tools does not send your input to a KeLoc server. Saving writes only to the file location you choose.
Read the Dev Workbench privacy policy