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.

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 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
A JMESPath query filters straight down to the matching nodes — the JMES badge confirms it's being parsed as a query, not a plain-text search.
  • 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']).

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.

Search bar with the plain word 'email' entered, no JMES badge, a '1/3' match counter, and every matching email key highlighted in the tree below
No query syntax typed, no JMES badge shown — Yellorn falls back to a plain substring search and highlights every match in place.

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.

Try a fix in the editor or browse more articles.