Skip to Content
DocumentationEditorFind & Replace

Find & Replace

Open Find & Replace with Ctrl+F (or Cmd+F on Mac) while focused in a panel.

Two search modes

Find & Replace operates in two modes depending on your current view:

Text mode (Text View)

Searches the raw JSON text using regex pattern matching. This is a synchronous, fast search over the formatted JSON string.

  • Matches appear as highlighted regions in the text
  • Navigation moves the cursor to the next/previous match
  • Replace operates on the raw text (you replace the exact matched string)

Tree mode (Tree View)

Searches keys and values in the parsed JSON structure using a web worker for performance.

  • Matches appear as highlighted nodes in the tree
  • Searches across all keys and values, including nested ones
  • Replace can target keys or values independently
  • Supports expression-based replacements

Search options

OptionDescription
Case sensitiveToggle case-sensitive matching (checkbox)
Replace mode (Tree only)Choose whether to replace values or keys
ShortcutAction
EnterJump to next match
Shift+EnterJump to previous match
F3Jump to next match
Shift+F3Jump to previous match
EscapeClose Find & Replace

The match counter shows your position: e.g., “3 of 12 matches”.

Replace

Simple replacement

Type a plain string in the Replace field and click “Replace” (single match) or “Replace All”.

Search: old-api Replace: new-api

Expression-based replacement

Use {{...}} expressions for dynamic replacements. The old variable refers to the current matched value.

Search: hello Replace: {{old.toUpperCase()}} Result: HELLO
Search: user Replace: {{old + "_v2"}} Result: user_v2

See the Expressions section for full documentation on available functions, operators, and string methods.

Replace modes (Tree View)

In tree mode, you can choose what to replace:

  • Value — replaces the matched value, keeping the key unchanged
  • Key — renames the matched key, keeping the value unchanged

How tree search works

Tree search runs in a web worker to avoid blocking the UI on large documents. The search:

  1. Walks the entire JSON tree depth-first
  2. Matches the search text against every key name and string value
  3. Also matches against number and boolean values (converted to strings)
  4. Returns a list of matches with their paths

Results are compiled into a MatchMap — an O(1) lookup table indexed by JSON path — so highlighting individual nodes is instant regardless of document size.

Tree search debounces by 300ms. If you’re typing quickly, results update after you pause.

Last updated on