# JSONDesk

> A JSON viewer and formatter for Chrome: any JSON page opens as a fast, searchable tree, with exact numbers, JSONPath and big-file support. No network requests.

Source: https://www.extensionshop.store/extension/jsondesk
Markdown: https://www.extensionshop.store/extension/jsondesk.md

**A fast JSON viewer and formatter that sends nothing**

JSONDesk turns any JSON page you open in Chrome into a fast, collapsible tree: API responses, config files, webhook payloads, local .json files and JSON Lines. Five megabytes of minified JSON is ready in about half a second, larger files are parsed in slices with a progress bar so the tab never locks up, and scrolling stays smooth with hundreds of thousands of rows. Search keys and values with a match count, or type a JSONPath query such as $.items[?(@.price > 10)].id and get every result with its path, copied as a JSON array in one click. Copy any value, a whole node as formatted JSON, or its path (data.items[3].id), and switch between the tree and the raw text, with line numbers and a minimap, without losing your place. It is correct rather than approximate: big numbers like 12345678901234567890 are shown exactly as sent, key order and duplicate keys are kept, invalid JSON shows the error with line and column and marks the spot, and XSSI prefixes and JSONP wrappers are removed and noted. A compare page lists every changed, added and removed value between two documents, and a paste-and-drop page handles JSON that isn't in a tab. Chrome itself freezes on large JSON pages, so JSONDesk relabels them as plain text before they load, with one declarative rule that only touches pages you open in a tab. It makes no network requests, stores nothing you view, is open source, and the interface is translated into 51 languages.

## Key facts

- **Category:** Developer Tools
- **Price:** Free
- **Rating:** New — no ratings yet
- **Version:** 1.1.0 (last updated Oct 2026)
- **Size:** 845 KB
- **Developer:** Ilias El Barhoumi
- **Browsers:** Google Chrome and Chromium-based browsers (Edge, Brave, Arc, Opera)
- **Support:** iliasselbarhoumi@gmail.com
- **Privacy policy:** https://www.extensionshop.store/extension/jsondesk/privacy

## Features

- Any JSON page opens as a collapsible tree, with item and key counts on every folded node; raw text is one click away, at the same place
- Fast on big files: 5 MB of minified JSON in about half a second, larger files parsed in slices with progress, smooth scrolling at hundreds of thousands of rows
- Search keys and values with a match count and next / previous
- JSONPath queries in the search box ($.items[?(@.price > 10)].id), with a results list copied as a JSON array in one click
- Copy a value, a whole node as formatted JSON, or its path (data.items[3].id)
- Exact numbers: 12345678901234567890 is never rounded; key order and duplicate keys kept as written
- Invalid JSON shows the error with line and column, and marks the spot in the raw text
- XSSI prefixes and JSONP wrappers removed and noted; JSON Lines / NDJSON open as a list of records
- Compare two JSON documents: every changed, added and removed value, with its path
- Raw view with line numbers and a minimap; sort keys A→Z without changing what you copy
- Paste-and-drop page for JSON that isn't in a tab, which works with no permissions at all
- Light and dark themes, full keyboard control (? lists the shortcuts)
- Interface translated into 51 languages, with right-to-left layouts
- No network requests, no analytics, no remote code; open source

## Permissions and why they are needed

| Permission | Why it is needed |
| --- | --- |
| Read and change all your data on all websites | Chrome's summary of the smallest permission that lets an extension see which pages are JSON. The content script checks each page's content type at load and does nothing unless it is a JSON document; other pages are never read. |
| Declarative net request (with host access) | One static rule changes the Content-Type of JSON pages you open in a tab to plain text before they load, because Chrome freezes for seconds on large JSON pages. It never blocks, redirects or changes anything else, and never touches the requests websites make themselves. |
| Storage | Keeps your settings (theme, how far documents open, key sorting, plain-text pages on or off) and a few local usage counts on your device. Nothing you view is ever saved. |

## Privacy

**Data collected:**

- **Settings (stored locally)** — Theme, how far documents open, key sorting, and whether plain-text JSON pages open in the viewer. Stored in Chrome's extension storage on your device and never sent anywhere.
- **Usage counts (stored locally)** — When JSONDesk was installed, how many documents opened in the viewer, on how many days, and when the last one opened or a copy failed, plus your answers to the optional support and rating notes. Numbers and times only, with no addresses and no content. They stay on your device.

**Never collected:**

- The JSON you view — it stays in its tab and is never stored, logged or sent
- Addresses and browsing history — JSONDesk only checks whether a page is JSON
- Your Google account, name, email or any personal identifiers
- Analytics, telemetry or crash reports of any kind
- Data sent to any first-party or third-party server — there is no JSONDesk server

**Third-party sharing:** None. JSONDesk makes no network requests and uses no analytics, SDKs or servers. Links open a normal browser tab only when you act: "Read the source code" opens GitHub, "Support JSONDesk" and "Buy me a coffee" open the developer's Ko-fi page, "Rate JSONDesk" opens its Chrome Web Store page, and uninstalling opens a short optional feedback form on Tally that receives nothing unless you fill it in and submit it.

**Data retention:** Settings and usage counts stay in your browser's extension storage until you remove the extension, which deletes them automatically. The JSON you view is never stored.

## Frequently asked questions

### Why does Chrome say JSONDesk can "read and change all your data on all websites"?

That is Chrome's wording for the smallest permission that lets an extension see which pages are JSON, since JSON can come from any site. JSONDesk checks each page's content type and does nothing unless the page is JSON. It makes no network requests, so nothing it sees can leave your browser.

### Why does JSONDesk change the Content-Type of JSON pages?

Chrome freezes for seconds on large JSON pages before any extension can run. JSONDesk relabels JSON pages you open in a tab as plain text first, with one declarative rule that Chrome applies itself, then shows them as a tree. Requests that websites make themselves are never changed.

### How big a file can it open?

Five megabytes is ready in about half a second and 50 MB in a couple of seconds, parsed in slices with progress. Above 64 MB it opens the raw text first and builds the tree when you ask.

### Are big numbers shown exactly?

Yes. JSONDesk reads numbers from the source text, so 12345678901234567890 is shown and copied exactly as sent, never rounded. Key order and duplicate keys are kept as written too.

### Can I open local .json files?

Yes. Use "Paste or open JSON" in the toolbar button, which always works, or turn on "Allow access to file URLs" in JSONDesk's details to open .json files directly in a tab.

### Does JSONDesk collect any data?

No. It makes no network requests, has no account and never stores what you view. Settings and a few usage counts stay in your browser.

## Changelog

- **1.1.0** (Oct 2026) — JSONPath queries, sort keys, raw view minimap, JSON Lines, a compare page, more keyboard shortcuts, a theme button, a welcome page, an optional Ko-fi link and a rare rating note, and the interface in 51 languages, including right-to-left layouts.
- **1.0.0** (Oct 2026) — Initial release. JSON pages as a virtualised tree with raw view, large-file parsing in slices, search, copy value / JSON / path, exact big numbers, duplicate keys, clear errors with line and column, XSSI and JSONP handling, a paste-and-drop page, light and dark themes.
