I recently wanted to preserve some long ChatGPT conversations locally and discovered that the standard account data export is excellent as a raw backup, but becomes cumbersome as the archive grows.
In particular, I wanted three things:
- A searchable index of the conversations in
chat.html, including dates. - A way to export one conversation cleanly to PDF without printing the entire archive.
- Incremental archives, so that after requesting another full OpenAI export I could retain only conversations that were new or had changed since the previous export.
I ended up building a small Python utility to do this and have released it under the MIT license:
ChatGPT Archive Enhancer
It works entirely on the official ChatGPT data-export ZIP after you download it. It does not log into ChatGPT, use an API key, require browser cookies, or transmit the archive anywhere.
It currently:
- enhances the existing
chat.htmlwith a searchable conversation sidebar; - sorts conversations newest-first;
- displays Started and Last updated timestamps;
- adds an Export this thread to PDF button to each conversation;
- compares two official export ZIPs and produces a true delta containing both newly created conversations and existing conversations that changed;
- preserves relevant conversation assets; and
- integrity-checks the resulting ZIP.
For example, if an older export contains conversations A, B, C and D, and a later export contains A, B, C, D, E and F — but B was continued after the first export — the delta contains B, E and F, using the latest complete version of each.
The project uses only the Python standard library and runs locally.
This isn’t intended to replace some of the excellent existing export tools. Projects such as ChatKeeper take a different and very useful approach by converting exports into a synchronized Markdown archive. My goal here was specifically to preserve and enhance OpenAI’s own export structure while making repeated archival and individual-conversation PDF export easier.
This is the initial v0.1.0 release, tested against ChatGPT exports from August 2026. Since OpenAI’s export format can change, I’d particularly welcome reports from people trying it with other or future exports.
An important privacy note: don’t upload your actual ChatGPT export ZIP to GitHub. It can contain extremely personal information. The program is specifically designed so processing can remain entirely on your own computer.
Suggestions, bug reports, and contributions are welcome.