After nearly two weeks of work trying to make this utility accessible to everyone, I’ve encountered an unfortunate limitation in macOS 15.1. Due to recent security policies, Safari Web Extensions can now only be distributed via the App Store. This change prevents developers like myself from self-distributing Web Extensions outside of the App Store, even with an Apple Developer Program certificate.
This project is a utility designed to make exporting ChatGPT conversation history in JSON format simple and efficient. It’s a straightforward tool that I hoped to share freely for anyone to use and improve upon, while also showcasing my work to potential employers or clients.
I do have another machine which is Intel and running macOS 13, if I get a chance I may try building there, but I doubt the Xcode project will work with the older version of macOS.
Since the App Store is currently the only distribution path Apple allows for Safari Web Extensions, I can't directly provide a pre-built, signed binary here. However, I’ve included the full Xcode project files, so anyone interested can build and run it on their own system. If a workaround becomes available for distribution or if Apple makes changes, I’ll update this repository.
- Build It Yourself: If you’re a developer, you can try building the extension locally from the provided project files.
- Share Ideas: If you know of a way to distribute this utility effectively within Apple’s latest guidelines, please leave a comment in the Discussions.
Thanks for your patience, and let’s work together to keep this project moving forward!
The Xcode project file is here. Clone the repository and try
git clone https://github.com/unixwzrd/chatgpt-chatlog-export.git chatgpt-jason
cd chatgpt-jason
xcodebuild build -project 'ChatGPT-Export-Chatlog-JSON.xcodeproj'
The checkbox in Safari to run. I have uploaded a signed version, but would appreciate it if someone could test it out.
This extension allows users to download complete conversation logs from OpenAI’s ChatGPT in JSON format, capturing session details for use in documentation, analysis, and content creation.
- Full conversation export to JSON format
- Supports cross-browser compatibility for Safari, Chrome, and Firefox
- Preserves chat logs for documentation, import, and analysis
- Prioritizes user privacy: no tracking or data collection
This extension is available for multiple browsers. Follow the installation instructions below for your browser of choice.
The repository includes a precompiled, ready-to-install version. The Xcode project is also available for those who want to build it from source.
Why Use It?
- Summarize and analyze past chat sessions
- Archive and convert conversations into formats like Markdown and HTML
- Easily transfer conversations to a new ChatGPT instance for continuity
A version may be added to the Apple App Store, with a small fee to cover Apple Developer Program costs. The binaries provided are signed with an Apple Developer Certificate for added security.
Installation for Safari:
- Download
ChatGPT-Export-Chatlog-JSON.app.zip
. - Extract the folder and run the
ChatGPT-Export-Chatlog-JSON.app
. - Enable the extension in Safari -> Settings -> Extensions.
- The extension icon should appear in the Safari toolbar, and it's ready to use.
Usage for Safari:
- Open a ChatGPT session and click the extension icon
in the toolbar.
- The session will download in JSON format to your
Downloads
folder.
Uninstallation for Safari:
- Open Safari -> Settings -> Extensions.
- Select the
ChatGPT - Export Chatlog JSON
extension and click Uninstall. - Move the downloaded folder to the Trash.
This extension is available on the Chrome Web Store. Source code for Chrome is included in the repository for those who wish to build it directly.
Download the Firefox version from the Firefox Add-ons store. Source code for Firefox is also included in the repository.
While in an active ChatGPT session, click the extension icon () to export the conversation in JSON format. This unprocessed JSON file will contain chat text, timestamps, and other metadata—ideal for analysis, transformation, or archiving.
If you find this extension helpful, consider supporting my work on Patreon or Ko-fi. My goal with this project and others is to bring awareness to issues like parental alienation and to advocate for a child’s right to have both parents involved in their lives.
Visit Distributed Thinking Systems LLC for information about my other projects.
Thanks to Deskuma for the original codebase used in the Firefox and Chrome extensions, which inspired this project.