Running on your device · 0 bytes uploaded

# ChatGPT export and JSONL viewer

Open your ChatGPT conversations.json export or a JSONL message log and read it — parsed off the main thread, rendered virtually, never uploaded anywhere.
parses in this tab (no workers available) · cap 32 MB · stays in memory onlyRead exportClearChatGPT conversations.jsonJSONL messages

Open the export, then press Read export.

- The export is read with the browser's own file reader and parsed in a worker. It never enters a URL, local storage, a recent-items list, analytics, logs, or crash reports — closing the tab erases it.
- Non-text content (images, audio, tool outputs) appears as an empty row with its content type — the viewer never fabricates text for what it cannot show.
- Caps, stated: 32 MB input, 100 conversations listed, 2,000 messages per conversation, 4,000 characters per row for display. True totals always ship alongside the caps.
- Want your own export? ChatGPT → Settings → Data controls → Export data. OpenAI emails a download link; this tool then reads the file locally.

One message object per line ( { "role"…,"content"… } ) or one { "messages":[…] } record per line — handy for inspecting fine-tuning files built with the JSONL formatter next door.
Insert JSONL sampleNothing in yet

Paste, drop, or type to begin. Everything stays on this device.

nothing reads until you press Read export

## Next door in AI

- [Fine-tune JSONL formatter](/ai/jsonl-formatter)
- [JSON Validator](/json/validator)
[All AI tools](/ai)

---

Canonical HTML: https://nutter.tools/ai/chat-export
Markdown version: https://nutter.tools/ai/chat-export/index.md
Plain-text version: https://nutter.tools/ai/chat-export/index.txt
Agent index: https://nutter.tools/llms.txt

