How to inspect large JSON without freezing the browser
Move parsing off the main thread, retain the document, and render only what is visible.
7 minute read · Updated August 2026Open the local tree viewer →The main thread should coordinate, not parse
Parsing and analysis compete with typing, scrolling, and painting when they run on the browser's main thread. A dedicated worker keeps the interface responsive even before algorithmic acceleration is considered.
Parse once and keep a handle
Reparsing the same bytes for tree, schema, query, and analysis multiplies CPU time and allocation. A retained WebAssembly document handle lets every view reuse one structural representation.
Do not render the whole tree
A million parsed nodes do not require a million DOM nodes. Expand lazily, cap children per request, and virtualize record tables. For multi-gigabyte data, a streaming CLI remains the correct execution class.