JSON Formatter Chrome Plugin Now Closed and Injecting Adware
Source: Hacker News
ARCHIVED
I am no longer developing JSON Formatter as an open source project. I’m moving to a closed‑source, commercial model in order to build a more comprehensive API‑browsing tool with premium features.
I know some users (especially here on GitHub) will always prefer open source tools, so I’m leaving this repo online for others to use/fork, and I’ve published the final open source version as JSON Formatter Classic – you can switch to that if you just want a simple, open source, local‑only JSON‑formatting extension that won’t receive updates.
Chrome extension that helps you view and explore JSON API responses.
Features
- Fast, even on very long JSON pages
- Dark mode
- Syntax highlighting
- Collapsible trees, with indent guides
- Clickable URLs
- Negligible performance impact on non‑JSON pages (less than 1 ms)
- Works on any valid JSON page – URL doesn’t matter
- Buttons for toggling between raw and parsed JSON
- Parsed JSON is exported as a global variable,
json, so you can inspect it in the console (now working again!)
Installation
Option 1 – Install JSON Formatter Classic from the Chrome Web Store.
Option 2 – Install it from source (see below).
Development
# Clone the repository and install dependencies
bun install
# Build once
bun run build
# Or watch‑driven build
bun run watchYou can install the dist folder as a local, unpacked extension in Chrome with developer mode enabled.
FAQ
How does it detect JSON?
Detecting JSON reliably is complex. In most cases the extension relies on the Content-Type header, but it may also inspect the page structure when needed. The detection is designed to be fast with no perceivable impact on browsing.
Why are large numbers not displayed accurately?
This is a limitation of JavaScript (and therefore of JSON as interpreted by the browser).
- Numbers larger than
Number.MAX_SAFE_INTEGER(2^53 - 1≈ 9 007 199 254 740 991) are clamped down to that value. - Numbers smaller than
Number.MIN_SAFE_INTEGER(-2^53 + 1) are clamped up. - Extremely precise floating‑point numbers are rounded to 16 digits.
The rounding is performed by the native JSON.parse in V8, not by JSON Formatter. If your API needs to represent numbers outside JavaScript’s safe range, quote them as strings.
Why are object keys sometimes in the wrong order?
JSON Formatter shows the order of keys as returned by Object.keys(JSON.parse(json)). Historically, the JavaScript specification allowed object keys to be iterated in any order, and V8 moved numeric‑string keys (e.g., "1" or "99999") to the top for performance reasons. This behavior has since been standardized.
I just want to see exactly what the server sent
Use the Raw button to view the original JSON. The Parsed view reflects the result of JSON.parse. Future versions may include a custom parser to highlight values altered by parsing, if performance permits.