Docs
Privacy and data handling
The reason to use a local JSON viewer is that production payloads contain things that should not be pasted into a stranger’s server. Here is precisely what happens to yours.
The viewer
- Files are read with the browser File API and parsed in a Web Worker on your device.
- No document content is transmitted. There is no upload endpoint for the viewer to call.
- Generated TypeScript, JSON Schema, beautified output and copied subtrees are all produced locally.
- You can verify this: open your browser devtools Network panel, load a file, and watch that nothing leaves.
What is stored on your device
| Store | Contents | Cleared by |
|---|---|---|
| localStorage | Settings: theme, indent, parse mode, expand depth. | Clearing site data. |
| IndexedDB | Opened documents, only while "keep documents" is enabled. | Turning the setting off, removing an entry, or clearing site data. |
Analytics
Nothing is measured until you say so. The first time you arrive, a banner asks whether analytics may run; until you answer, and forever if you decline, no analytics tool is downloaded at all — no script, no request, no identifier. You can change the answer at any time under Settings → Privacy in the viewer, and turning it off stops every tool immediately and clears what they stored in this browser.
If you accept, the site uses Mixpanel to understand which features get used, Google Analytics to count page views, and Vercel’s Web Analytics and Speed Insights to count visits per page and measure how quickly pages load. Mixpanel and Google Analytics record the usual page and device metadata against an anonymous identifier stored in this browser. Vercel’s two set no cookie, and receive the page’s path with any query string or fragment removed. There is no account to attach it to: nobody signs in to JSONParse, so there is no name, email address or user record anywhere in it.
What analytics never receives is your document. No file name, no key, no value, no search term, no generated output and no parse-error text is passed to any of them, because none of it is ever handed to them — the events carry counts, byte sizes, durations and the names of options you chose, and nothing else. Session recording and autocapture, the two features that work by reading the page, are switched off for exactly this reason: on this site the page *is* your JSON.
Tracking protection and content blockers stop all of it regardless, and the viewer works identically without it.
Where the HTTP API is different
The HTTP API and the MCP server exist so automated tools can use JSONParse, and they necessarily receive the JSON you send them. They are a separate surface from the viewer with a separate promise:
- Request bodies are processed in memory and are not written to disk or a database.
- Payload contents are not logged. Operational logs record method, path, status, duration and a truncated request id.
- There is no account, no retention and nothing to delete afterwards.
- If a document must never leave your machine at all, use the viewer, not the API. That distinction is the whole reason the viewer exists.
Third parties
The site is served from Vercel, which terminates TLS and keeps standard request logs, and which also runs Web Analytics and Speed Insights once you have accepted analytics. Mixpanel and Google Analytics are the only other third parties, and likewise only once you have accepted them. There are no advertising scripts, no A/B testing services and no session recorders.
Frequently asked questions
Can I use JSONParse with confidential production data?
The viewer is built for that case: the document never leaves the browser tab. Your own organisation’s policy is the thing to check, and pointing a reviewer at the Network panel is usually the fastest way to settle it.
Does the site work with analytics blocked?
Completely. Analytics is loaded separately and nothing in the application depends on it — and if you decline the banner, it is never loaded in the first place.
How do I withdraw consent after accepting?
Open the viewer, go to Settings → Privacy, and turn off "Share anonymous usage analytics". Every tool stops at once and the identifier Mixpanel kept in this browser is cleared. Clearing site data does the same thing and also resets the question.
Is there a self-hosted option?
Yes. The build produces static files plus a handful of serverless functions, so it will run on any host that can serve a directory. The viewer itself needs no server at all once the page has loaded.
Last updated .