Skip to content
AI Inspector UtilityBox

Local-first · zero uploads · works offline

Every conversation, inspected in your browser.

Drag in your ChatGPT or Claude export — conversations.json, .jsonl or the whole ZIP — and unlock secret scanning, custom instructions, full-text search, cost estimates and activity heatmaps. Parsed with JSZip 100% in your RAM.

Parses ZIP, JSON & JSONL Runs fully offline No account required Free forever

Drop your export here

Drag & drop a ChatGPT or Claude export — ZIP, conversations.json or .jsonl — or click to browse. You can also paste files with Ctrl+V.

ZIPJSONJSONL

Parsed in your browser's RAM — zero bytes leave this device

ZIP archives

JSZip decompression runs fully in memory.

Both platforms

ChatGPT mapping graphs and Claude chat_messages.

Offline-first

No account, no upload, no telemetry — ever.

How it works

Three steps to total visibility.

From an unreadable JSON dump to a fully searchable, exportable archive — without ever sending a byte to a server.

01

Request your export

ChatGPT: Settings → Data Controls → Export Data. Claude: Settings → Privacy & Data → Export your data. Download the emailed ZIP.

02

Drop it here

JSZip decompresses the archive entirely in your browser memory. Nothing is uploaded — the file never leaves your device.

03

Analyze & export

Scan for secrets, isolate custom instructions, search every thread and export to Markdown, clean text or JSON.

Why client-side parsing is the only private option

Your prompts are your secrets. Keep them that way.

Cloud tools that "sync" your history route your prompt logs through their servers — which means your confidential code, business strategy and personal data pass through infrastructure you don't control. AI Data Inspector is the opposite architecture:

  • No network calls, ever

    The analyzer never connects to OpenAI, Anthropic or us. Pull the network cable and it keeps working.

  • Decompression in RAM

    JSZip expands archives in your browser heap; parsing and search run on a background thread on your own CPU.

  • Nothing is stored

    No cookies, no accounts, no telemetry. Close the tab and every trace is gone with it.

zero-uploads.js
const promise = parseInBrowser(zip);
// file.files → JSZip.loadAsync → RAM heap
await promise;
// nothing was POSTed · nothing was stored
fetch('/api/upload'); // ⇦ never happens