Chrome JSON viewer

OmniJSON

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

A purpose-built workspace for raw JSON

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.

OmniJSON viewer showing formatted JSON in a tree interface.

What it does

Large JSON inspection without browser stalls

Streaming parse

HTTP and HTTPS JSON sources stream through the extension context in byte chunks.

Worker and WASM pipeline

Parsing, filtering, and JSONPath work stay outside the React main thread.

Virtualized tree

Only visible rows are painted, with subtree sizes used for fast collapse and expand.

Keyword filter

Search keys and scalar values with case-insensitive substring matching.

JSONPath after parse

Queries beginning with $ run after the current document is finalized.

Copy exact output

Copy JSONPath, JavaScript path, jq path, key path, values, or subtree JSON.

Workflow

Open, inspect, filter, copy

Open JSON

Use a detected raw JSON page or enter a supported JSON URL in the viewer.

Browse the tree

Expand only the branches you need while the source continues streaming.

Filter results

Use keyword search immediately, then JSONPath once parsing has completed.

Copy output

Copy paths, scalar values, or subtree JSON from the selected row.

Screenshots

Viewer states sized for the page

Collapse and expand nested structures without rendering the full document.
Preview long string values without expanding or copying the full payload.
Inspect progress and phase timing to understand parse behavior.
Parse errors include context for locating malformed JSON.

Large documents

Row windows instead of full-table transfers

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.

50MB+ Large-document mode threshold by source bytes.
500K Large-document mode threshold by parsed node count.
Local No parsed JSON, copied values, or usage data is uploaded.

Help

Using OmniJSON

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.

Opening JSON

  • Open a raw HTTP or HTTPS JSON response and use the OmniJSON entry point when detected.
  • Use the viewer for HTTP and HTTPS JSON URLs entered manually.
  • For local file:// JSON, enable "Allow access to file URLs" in Chrome extension settings.

Tree navigation

  • Expand and collapse objects or arrays to focus on relevant branches.
  • Select a row to view its path and scalar summary.
  • Copy JSONPath, JavaScript path, jq path, key path, selected value, or subtree JSON.

Filtering and JSONPath

Plain text filter input runs keyword mode: case-insensitive substring matching on keys and scalar values. Queries beginning with $ run JSONPath after parsing completes.

  • Keyword filtering can work against the current parsed snapshot while parsing continues.
  • JSONPath is disabled until the current document is finalized.
  • JSONPath is disabled in large-document row-window mode for v1.

Large files

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.

Privacy basics

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

Built without analytics or an upload path

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.

Data processed

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.

Viewer features

Data is used only for streaming parse, tree rendering, keyword filtering, JSONPath queries, path and value copy tools, value previews, and parse error previews.

Data collection

OmniJSON does not collect, sell, transmit, or share user data. It does not include analytics, advertising SDKs, telemetry endpoints, or external tracking services.

Network access

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.

Local files

For file:// documents, Chrome requires "Allow access to file URLs" to be enabled for the extension. Processing remains local in the browser.

Credentials, storage, and clipboard

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

Troubleshooting