Streaming parse
HTTP and HTTPS JSON sources stream through the extension context in byte chunks.
Chrome JSON viewer
Inspect huge API responses, logs, exports, and nested JSON in a dedicated Chrome viewer that streams bytes, parses in Worker-backed Rust/WASM, and avoids freezing Chrome.
Now available on the Chrome Web Store.
The viewer
OmniJSON turns raw API responses, exports, logs, and configuration payloads into a navigable tree without reconstructing a full JavaScript object graph on the UI thread.
What it does
HTTP and HTTPS JSON sources stream through the extension context in byte chunks.
Parsing, filtering, and JSONPath work stay outside the React main thread.
Only visible rows are painted, with subtree sizes used for fast collapse and expand.
Search keys and scalar values with case-insensitive substring matching.
Queries beginning with $ run after the current document is finalized.
Copy JSONPath, JavaScript path, jq path, key path, values, or subtree JSON.
Workflow
Use a detected raw JSON page or enter a supported JSON URL in the viewer.
Expand only the branches you need while the source continues streaming.
Use keyword search immediately, then JSONPath once parsing has completed.
Copy paths, scalar values, or subtree JSON from the selected row.
Screenshots
Large documents
Regular documents send progressive node-table snapshots to React. Large documents keep the full node and scalar data in Worker/WASM, while the viewer asks for only the rows it needs to paint.
Help
Install OmniJSON from the Chrome Web Store, then open raw JSON in a dedicated Chrome extension viewer. The original JSON tab stays unchanged except for an optional entry point to open the viewer.
file:// JSON, enable "Allow access to file URLs" in Chrome extension settings.
Plain text filter input runs keyword mode: case-insensitive substring matching on keys
and scalar values. Queries beginning with $ run JSONPath after parsing
completes.
OmniJSON streams source bytes into a Worker and Rust/WASM parser. For very large documents, it keeps full node data in Worker/WASM and sends compact row windows to the viewer instead of transferring the entire node table to React.
OmniJSON does not upload parsed JSON or usage data to external servers. Network access is used to fetch the source URL you choose to view so parsing can happen locally in the extension runtime.
Privacy
Last updated: May 10, 2026
OmniJSON processes JSON locally in the browser extension runtime. It may fetch the same source URL you choose to view so it can stream bytes into the parser, but parsed JSON, scalar indexes, filter results, copied values, and usage data are not sent to OmniJSON servers.
OmniJSON may process JSON document contents from pages you choose to open, including API responses, local files, logs, configuration files, or other visible JSON text.
Data is used only for streaming parse, tree rendering, keyword filtering, JSONPath queries, path and value copy tools, value previews, and parse error previews.
OmniJSON does not collect, sell, transmit, or share user data. It does not include analytics, advertising SDKs, telemetry endpoints, or external tracking services.
When you open a raw JSON document, OmniJSON may fetch that same URL from the extension context to stream bytes to the Worker and WASM parser. It does not send contents to OmniJSON-operated servers.
For file:// documents, Chrome requires "Allow access to file URLs" to be
enabled for the extension. Processing remains local in the browser.
Browser credentials may be included only for the same source request. Parsed documents are not persisted to extension storage, and clipboard writes happen only when you click a copy button.
Support