A single-file, local-first viewer for large ChatGPT conversations.json exports.
This project is designed for offline/private use in your browser, with fast filtering, model controls, tags/notes, and better export tools for real-world archive cleanup. It was forked off of rawunfilteredchaos' ChatGPTExportViewer to add addtional features, including tags and notes. Beyond the orginal forked HTML file, all programming was done by ChatGPT-5.3-Codex.
- Loads ChatGPT export JSON locally (
conversations.jsonstyle). - Browses and searches large conversation sets.
- Filters by model, tags, favorites, and date.
- Supports in-conversation search with hit navigation.
- Adds per-conversation tags + notes (persisted locally).
- Supports data backup/import for settings + metadata.
- Exports/copies/prints either visible-only or full conversation content.
- Download
chatgpt_export_viewer_conversations.html. - Open it in a modern browser.
- Click
load json(or drag/drop your JSON file). - Browse/filter conversations from the left panel.
No build tools or server required.
- Search box supports:
- Plain text
m/<model>quick searcht/<tag>quick search
- Sort dropdown (
updated/created, ascending/descending). - Favorites filter.
- Single-tag filter (
all tags, specific tags,none). - Clickable model chips and tag chips in each conversation row.
- Active conversation highlighting.
- Resizable left panel.
whole wordsearch mode.titlemode (search titles only).raw tool texttoggle for searching tool/function payload text.- Date search block:
- Field:
updatedorcreated from/torange
- Field:
- Tag filters:
- Multi-select tags
- Modes:
any,all,only
- Clear filters action.
- Bulk operations on currently filtered conversations:
- Add tag to filtered
- Remove tag from filtered
- Advanced global tag maintenance:
- Rename a tag everywhere
- Merge one tag into another
- Delete a tag everywhere
- Tag counts in manager dropdowns.
- Sticky in-conversation find bar:
- Query input
- Whole word toggle
- Full conversation toggle
- Prev/next hit navigation
- Top/bottom scroll shortcuts
- Header with:
- Title, dates, message/model stats, last model used
- Models used
- Conversation ID
- Favorites toggle
- Tag editor
- Notes editor
- Per-message copy button.
Hidden/Filtered Match Visibility
When full-conversation find is enabled, the viewer can show details for matches that are not currently visible in rendered message segments (for example tool payload content filtered from the main thread view).
Per conversation, choose:
visible only: export/copy/print only currently visible message entries.full convo: export/copy/print full conversation (excluding empty system messages).
localStoragesaves UI state and metadata:- Filters
- Model toggles
- Favorites
- Tags
- Notes
- Layout/UI states
- IndexedDB caches the last loaded JSON for auto-restore on reopen.
- Export/import settings metadata JSON (
export data/import data).
jorArrowDown: next conversationkorArrowUp: previous conversation- In convo find box:
Enternext hit,Shift+Enterprevious hit
- This tool is local-first and intended for personal archives.
- Large exports can still be heavy depending on browser/device memory.
- Tool/function memory payloads in exports may be partial, verbose, or backend-dependent.
chatgpt_export_viewer_conversations.html- app (single-file viewer)conversations.json- sample/export input file
This project is licensed under the MIT License. See LICENSE.
- Runs locally in your browser.
- Does not require a backend/server.
- Reads only the JSON file you provide.
- Stores viewer state, tags, notes, and favorites in your browser (
localStorage) and caches last JSON in IndexedDB for convenience. - If you share screenshots or exported text, review/redact sensitive content first.