Search and query large JSON with JMESPath online
Stop hunting through nested JSON by hand. A JMESPath query filters the tree live — extract every email, find items matching a condition, or jump between matches.
Find anything in deeply-nested JSON
Scrolling through thousands of lines to find one value is painful. Yellorn's visualizer search lets you run a JMESPath query against the parsed data and filters the tree to just the matches — live, as you type, entirely in your browser.
JMESPath is the standard JSON query language (the same one the AWS CLI uses). You don't have to learn it up front: any text that doesn't parse as a JMESPath expression falls back to a plain substring search, so the box is useful from the first keystroke.
Open the search bar
Open the search bar in the visualizer toolbar and start typing. When your text is a valid JMESPath query a JMES badge appears; the result count and Prev / Next buttons let you step through every match. An invalid query shows an Invalid hint instead of throwing.
![Search bar with the JMESPath query users[?age > 30].name entered, a JMES badge, a '3 of 3' match counter, and the tree below filtered to just the matching name nodes](/_vinext/image?url=%2Fscreenshots%2Fjmespath-search.webp&w=1400&q=75)
JMESPath in five examples
users[*].email— every user's email address.users[?age > `30`].name— the names of users older than 30.people | length(@)— how many people are in the list.sort_by(items, &price)— items sorted by price.data.results[0:5]— the first five results.
Numbers in a filter need backtick literals (`30`); strings use single quotes ([?status == 'active']).
When it falls back to text search
Type a bare word like email and Yellorn searches for it as a substring across keys and values — no query syntax required. The JMESPath power is there when you want it and out of the way when you don't.
While a JMESPath filter is active, cell and node edits are locked — the projection's paths don't map back onto the source document. Clear the search box (or switch to a plain substring) before editing.

Frequently asked questions
How do I search a large JSON file online?
Open the search bar in Yellorn's visualizer and start typing. A JMESPath query filters the tree to just the matches live, with a result count and Prev/Next buttons to step through them — all computed in your browser as you type.
What query language does Yellorn use to search JSON?
JMESPath, the standard JSON query language — the same one the AWS CLI uses. When your text is a valid JMESPath expression a JMES badge appears; an invalid query shows an Invalid hint instead of throwing.
Do I have to know JMESPath syntax to search?
No. Any text that doesn't parse as a JMESPath expression falls back to a plain substring search across keys and values, so the search box is useful from the first keystroke — the JMESPath power is there when you want it.
Can I filter JSON objects by a condition?
Yes. For example users[?age > `30`].name returns the names of users older than 30, and items[?status == 'active'] filters by a string field. Numbers in a filter use backtick literals; strings use single quotes.
Can I edit data while a JMESPath filter is active?
No. Edits are locked while JMESPath is projecting a filtered view, because those paths don't map safely back onto the source. Clear the filter (or switch to plain text search) before editing cells or tree nodes.
Related
Where to go next
Try a fix in the editor or browse more articles.