Format and sort an object
{"z":1,"users":[{"name":"Ada"}],"a":2}{
"a": 2,
"users": [
{
"name": "Ada"
}
],
"z": 1
}Recursive key sorting changes object-key order but never reorders arrays.
Format, minify, sort, search, and query JSON with JSONPath, then copy paths for nine developer languages. Everything runs locally in your browser with no upload.
Browser-local · no upload
{
"users": [
{
"id": 101,
"name": "Ada",
"role": "admin",
"profile": {
"display-name": "Ada Lovelace",
"active": true
}
},
{
"id": 102,
"name": "Linus",
"role": "developer",
"profile": {
"display-name": "Linus Torvalds",
"active": true
}
}
],
"meta": {
"id": "team-1",
"generated": "2026-07-15"
}
}AppHelp's JSON Workbench validates JSON as you type, formats or minifies it, offers a collapsible tree, and finds nodes with text search or JSONPath. Select any result to copy its access path in nine deterministic formats. Input, queries, results, and previews stay in browser memory: they are not uploaded, persisted, added to the URL, or sent as analytics parameters.
{"z":1,"users":[{"name":"Ada"}],"a":2}{
"a": 2,
"users": [
{
"name": "Ada"
}
],
"z": 1
}Recursive key sorting changes object-key order but never reorders arrays.
users[0].profile["display-name"]
data.users[0].profile["display-name"]
The same selected node is also available as Python, PHP, Java/Jackson, Go, C#/JsonElement, JSONPath, jq, and JSON Pointer.
$.users[?(@.role == "admin")]
A JSON array of matching user values
Filter expressions use JSONPath Plus safe evaluation rather than native eval.