Skip to content
All projects

Browser extension

Free JSON Formatter

A browser extension that turns raw JSON into a collapsible, searchable tree. One permission, no network code, and a test that fails on any request. Written after the most popular formatter went closed source and began injecting scripts - the guarantees are the point, not the tree. Chrome, Edge and Firefox.

TypeScriptChromeEdgeFirefox

Why it exists

In 2026 the most popular JSON viewer for Chrome went closed source. It had two million users and a Featured badge. The update that followed injected a third-party script that put donation prompts on retail checkout pages, scraped store identifiers and resolved the user’s location. Most people found out from their antivirus rather than from the changelog; the Hacker News thread has the details.

The lesson was not to read reviews more carefully. It was that a viewer for a JSON page has no business being able to do any of that. So this one is built to be checked rather than trusted: one API permission for remembering settings, no network code at all and an end-to-end test that fails if a request is ever made, nothing injected into any page that is not a JSON document, MIT licensed, and under 30 kB packed.

The parts I kept wanting

Replacing something is a chance to add what was missing from it.

Copy path. Hover any line and copy its path as a console-ready accessor chain, json.items[0].id, which pastes straight into devtools - where the extension has already exposed the document as json.

Search that sees inside folded branches. Matching runs over the parsed JSON rather than the visible text, so it finds what is hidden and opens exactly the branch you asked for, with a match count and a case-sensitivity toggle.

Line links. Click a line number and the address bar gets #L21. Open that link later and the line is revealed even if it sits in a branch nobody has expanded yet.

Whole-level folding. Ctrl or Cmd click a node to collapse or open its entire nesting level at once, instead of clicking through it one arrow at a time.

Indent guides that highlight the level under the pointer, so you can see which branch you are actually in.

The rest is what a viewer of this kind owes you: automatic detection of raw JSON pages, lazy rendering so large documents stay responsive, syntax highlighting, a formatted and raw toggle, configurable indentation, line wrapping, light and dark themes, and a warning when a payload is big enough that rendering may drag.