Home → Search JSON Online
Search through any JSON object to find keys, values, or paths instantly.
Search through any JSON object to find keys, values, or paths instantly. This tool runs entirely in your browser — no data is ever sent to a server. Free to use, no account required.
The JSON search tool scans all keys and values in a JSON document recursively, returning every match with its full path.
Find all instances of a specific key name anywhere in a nested JSON structure. Useful for locating fields in large API responses where the structure is not fully known.
Search for a specific value — a string, number, or boolean — across all fields. The tool returns every path where that value appears, making it easy to find where a specific value is used throughout the document.
JSON search is particularly useful when working with large or unfamiliar JSON documents.
Large API responses from services like Salesforce, Shopify, or GitHub can contain hundreds of fields. Search helps you quickly locate the data you need without manually scanning the entire document.
Search for patterns like "password", "token", "key", or "secret" to find potentially sensitive fields before sharing JSON data in a ticket, chat message, or public repository.
Searching large JSON documents is a common task when debugging APIs, auditing configurations, or processing data exports. Different query methods work best for different scenarios.
// JSON Document
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"},
{"id": 3, "name": "Carol", "role": "admin"}
]
}
// Find all admins (JSONPath)
$.users[?(@.role == "admin")]
// Result: [{id:1,name:"Alice",...}, {id:3,name:"Carol",...}]
// Find by key name (all "name" fields)
$..name
// Result: ["Alice", "Bob", "Carol"]
// Find by value
$..* (then filter where value === "admin")
| Method | Description | Best For |
|---|---|---|
| Key name search | Find all keys matching a name | Simple text match |
| Value search | Find keys with a specific value | Simple text match |
| JSONPath query | Structured path expression | Most powerful, RFC 9535 |
| jq filter | jq language query | Best for CLI pipelines |
| Regex on text | Search raw JSON text | Fast but error-prone |
const users = [
{id: 1, name: "Alice", role: "admin"},
{id: 2, name: "Bob", role: "user"},
{id: 3, name: "Carol", role: "admin"}
];
// Find admins
const admins = users.filter(u => u.role === "admin");
// Find by partial name
const matches = users.filter(u => u.name.toLowerCase().includes("a"));
// Deep search for any key
function deepSearch(obj, key) {
if (key in obj) return obj[key];
for (const v of Object.values(obj)) {
if (typeof v === "object") {
const found = deepSearch(v, key);
if (found !== undefined) return found;
}
}
}
Explore more tools: All JSON Tools | Validator | Pretty Print | JSON Diff
JSON Search traverses the entire document tree recursively and matches nodes based on the selected mode. All results are returned with their full JSONPath so you can locate them instantly, regardless of how deeply nested they are.
Finds all properties whose key name matches the query at any nesting depth. Useful when you know a field name but not where it appears in a large document.
Finds all string, number, and boolean values matching the query. Useful for locating a specific user ID, email address, or status code scattered across a deeply nested structure.
Finds properties where both the key name and the value match. Use this to narrow results when the value alone is too common.
// Document
{"users": [{"id":1,"email":"alice@example.com"},{"id":2,"email":"bob@example.com"}]}
// Search for key "email":
// → ["alice@example.com", "bob@example.com"]
// → paths: $.users[0].email, $.users[1].email
// Search for value "alice":
// → "alice@example.com" at path $.users[0].email
// Regex search /^alice/:
// → "alice@example.com" at path $.users[0].email
JSON Search and JSONPath serve different purposes. Use JSON Search when you are exploring an unfamiliar document. Use JSONPath when you know the exact structure and need precise, repeatable extraction in code.
| Feature | JSON Search | JSONPath |
|---|---|---|
| Syntax | Plain text or regex | JSONPath expression |
| Learning curve | None | Moderate |
| Multiple matches | Yes, always | Yes, with wildcards |
| Exact path needed | No | Yes (or use ..) |
| Best for | Exploring unknown JSON | Precise data extraction |