migrate from chatgpt to claudemigrate chatgpt to claudeclaude to chatgptexport chatgpt projects to claudemove chatgpt history to claudechatgpt to gemini migrationexport chatgpt conversations to claudeexport all chatgpt conversations to claudechatgpt history claudemigrate between aiai chat migrationclaude memory import

Migrate Between ChatGPT, Claude, Gemini: Conversation Export Guide (2026)

Zephyr Whimsy2026-06-056 min read

Migrate Between ChatGPT, Claude, Gemini: Conversation Export Guide (2026)

You used ChatGPT for the first 18 months of "actually using AI." Then Claude Opus 4.7 shipped with 1M context and your workflow shifted. Or Gemini 2 Pro got good and you wanted to try. Now you want to bring your prior conversations, projects, and accumulated context across.

There's no one-click migration. Each vendor's export format is incompatible with each other vendor's import path. Here's the practical workflow that actually works.

The vendors and their export situations

| Vendor | Official export | Import path | Practical migration friction | |---|---|---|---| | ChatGPT (OpenAI) | Email ZIP with JSON | None for imports | High — JSON not directly usable | | Claude (Anthropic) | Per-conversation copy/paste | Claude Projects accept .md / .pdf / .txt / .docx | Medium — file upload works | | Gemini (Google) | Limited (Settings → Activity) | None | High — manual reconstruction | | DeepSeek | None official | None | High — manual | | Perplexity | None for full history | None | High — manual | | Kimi K2 | Limited | None | High — manual |

The pattern: vendors give you a way to back up your data (so you can leave if you want) but no way to migrate to a competitor (since that would help their competition).

The browser-side workflow that bypasses this

Since vendors won't help, the bridging tool needs to be vendor-neutral. The browser extension model works because the conversation pages are already in your browser, rendered, authenticated — all you need is to extract the content as portable Markdown.

Web2MD ships dedicated extractors for all five major chat platforms:

  • chatgpt.com/c/ — ChatGPT conversation pages
  • claude.ai/chat/ — Claude conversation pages
  • gemini.google.com — Gemini conversation pages
  • chat.deepseek.com — DeepSeek conversations
  • perplexity.ai/search/ — Perplexity research sessions

Output format: clean Markdown with ## User / ## Assistant headings preserved, code blocks fenced correctly, tables converted to GFM, model name and timestamp included for reference.

ChatGPT → Claude migration

The most common direction. Step by step:

Step 1: Identify conversations worth migrating

Not every ChatGPT conversation is worth bringing over. Skim your history at chatgpt.com and bookmark the substantial ones.

For my own migration in mid-2026 I had 1,200 ChatGPT conversations going back to GPT-4. ~40 were substantive (project work, research, deep technical discussions). The rest were one-off questions not worth carrying.

Step 2: Bulk-extract the substantive ones

Open each substantive ChatGPT conversation in a tab. Queue each with Web2MD. After you've queued the set you care about (10-50 conversations), bulk-export as one Markdown file.

Time: ~12 minutes for 40 conversations including the read-through.

Output structure:

# ChatGPT Conversation Archive Export

## Conversation 1: System architecture for X
**Model**: GPT-4 · **Date**: 2025-09-12 · **URL**: chatgpt.com/c/...

### User
[Initial prompt]

### Assistant (GPT-4)
[Response]

### User
[Follow-up]

[Continues for full conversation]

---

## Conversation 2: ...

Step 3: Paste into Claude (or upload as Project file)

Two paths into Claude:

Option A — Project file upload: Create a new Claude Project, name it something like "ChatGPT Archive 2024-2026", upload the Markdown file. Claude reads it as project context. Best for browsing back to specific past conversations.

Option B — Inline paste: Drop the relevant conversation directly into a Claude chat. Best for "continue this specific thread in Claude."

Claude's 1M context window means even substantial archives fit. 40 conversations averaging 4k tokens each = 160k tokens, well within Claude's window.

Step 4: Custom instructions and memory

ChatGPT custom instructions are a small text field. Copy them verbatim into Claude's Project instructions. Claude's "Memory" feature (rolling out 2026) works differently — you can manually add facts via the UI as conversations progress.

For Claude Code users: instead of a Project, drop the Markdown file into your repo and reference it as context in your ~/.claude/CLAUDE.md.

Claude → ChatGPT migration

Same workflow, opposite direction:

  1. Identify Claude conversations worth migrating (claude.ai/chat/...)
  2. Bulk-extract with Web2MD's Claude extractor
  3. Either: upload to ChatGPT as file (Plus/Team), or paste inline

ChatGPT's context window is smaller than Claude's (128k for GPT-5.5, 200k for GPT-4.1) so very large archives need splitting. Web2MD's bulk export supports per-conversation export if you prefer one file per source.

Gemini ↔ everything

Gemini's export options are weaker than ChatGPT's or Claude's. The Web2MD extractor handles individual gemini.google.com conversations the same way as the others. For deep Project-level migration into Gemini, expect manual reconstruction since Gemini's Project import is less developed.

DeepSeek and Perplexity are even more constrained — there's no Project import for either as of mid-2026. The Markdown export still works for inline paste into the destination chat.

A note on the underlying values

When you migrate conversations, you're moving "what was said" but not "what the model knew." The new vendor's model has different training data, different instruction-following calibration, different system prompts. A conversation that made sense to GPT-4 might be slightly misinterpreted by Claude even with the same Markdown input.

In my experience: this matters less than you'd think. Claude / GPT-5.5 / Gemini at the frontier tier all read English prose at similar levels. The conversation history serves as context for the new model, not as a contract to be perfectly preserved.

What to actually do

If you're considering switching vendors:

  1. Don't try to migrate everything. Migrate the 5-10% that's actually load-bearing.
  2. Export those as Markdown using a browser-side tool (this category exists exactly because there's no native cross-vendor path).
  3. Upload as Project file to the new vendor (preferred over inline paste for archive-style references).
  4. Manually re-create custom instructions in the new vendor's interface — they're a small enough field that it's easier to retype than to import.
  5. Live with imperfect context bridging. The new model is competent; you don't need 100% fidelity.

End-to-end migration time for a typical "switch from ChatGPT Plus to Claude Pro" with 40 substantive conversations: about 90 minutes including review.

Quick wins

If you already use Web2MD, open any ChatGPT / Claude / Gemini / DeepSeek / Perplexity conversation and click the extension. The vendor-specific extractor produces clean Markdown ready for paste into any other vendor's chat or Project file.

For one-off "I just want to keep a record of this conversation," the same workflow + save the Markdown to your file system or Obsidian vault.

Install

Web2MD on the Chrome Web Store →

Free tier: 3 conversions/day. Pro at $9/month unlocks unlimited + bulk queue + dedicated extractors for ChatGPT / Claude / Gemini / DeepSeek / Perplexity conversation pages.

Related Articles