ChatArchive

Version Platforms Tests Browser License

ChatArchive is a Chromium extension for exporting conversations from modern AI chat products into clean local files. It is designed around per-platform adapters, layered extraction strategies, and diagnostics that make breakages easier to detect and repair when sites change.

The project currently focuses on reliable export, readable Markdown, and maintainable extraction logic rather than one-off scraping hacks.

ChatArchive logo

Export chats from ChatGPT, Gemini, Claude, Perplexity, Grok, DeepSeek, Mistral, HuggingChat, Meta AI, Poe, Copilot, Phind, and You.com into clean Markdown, Obsidian, PDF, HTML, text, JSON, and CSV files without sending your data to a backend.

Website · Download latest release · Load unpacked in Chromium · See supported platforms

Why ChatArchive

Quick start

  1. Download the latest .zip from GitHub Releases.
  2. Extract it locally.
  3. Open chrome://extensions.
  4. Enable Developer mode.
  5. Click Load unpacked and select the extracted folder.

Preview

ChatArchive screenshot

Highlights

Supported platforms

Platform Status Primary extraction path
ChatGPT Supported state, fallback dom
Gemini Supported state, fallback dom
Claude Supported api, fallback dom
DeepSeek Supported api, fallback dom
Perplexity Supported page or dom
Grok Supported dom
Mistral Supported dom
HuggingChat Supported dom
Meta AI Supported dom
Poe Supported dom
Copilot Supported page (shadow DOM)
Phind Supported dom
You.com Supported dom

Platforms with API or state-backed extraction are generally more stable than DOM-only platforms.

Export formats

Why this repo exists

Most AI chat exporters break for the same reason: they depend on a single fragile set of selectors. This repo takes a more durable approach:

That structure does not prevent website breakage, but it makes breakage faster to diagnose and cheaper to repair.

Current capabilities

Long conversations

Project structure

Development

Local setup

  1. Install Node.js 20 or newer.
  2. Run npm install.
  3. Run npm test.
  4. Load this repository as an unpacked extension in a Chromium-based browser.
  5. Reload the extension after changing manifest.json, popup.html, or files under src/.

Packaging

Test strategy

Live smoke checks

The scheduled workflow in .github/workflows/daily-compatibility.yml runs in two layers:

To enable live smoke checks, configure these repository secrets:

Cookie secrets may be either:

Before running the live suite locally, install the browser dependency:

npx playwright install chromium

Privacy and trust

This matters because a chat exporter should be auditable and easy to inspect.

License

MIT. See LICENSE.

Contributing

Contributions are welcome, especially around:

See CONTRIBUTING.md and ROADMAP.md for current expectations and direction.

Roadmap

Status

The project is ready for public iteration, but website extraction is an ongoing maintenance problem by nature. Expect adapter updates over time as platforms change their DOM, APIs, and page-state structures.