LIMITED TIME50% OFF Pro Annual — $49.98$24.99/yr
29d:04h:28m:46s
CLAIM 50% OFF →
← All posts

Migrating ChatGPT chats to Claude or Gemini

You’ve spent two months in a ChatGPT conversation working through a problem. You want to switch to Claude (better long-context) or Gemini (better Workspace integration) without starting from scratch. How?

Three approaches, in order of fidelity.

1. Full transcript paste (simplest)

Export the ChatGPT conversation as Markdown. Open the new Claude / Gemini chat. Paste the Markdown into a single message:

Here's a conversation I had with ChatGPT that I want to continue with you.
Read it, then continue from where we left off.

[paste the full Markdown export]

Continue from this point.

What works:

  • Full reasoning chain preserved.
  • Code, math, citations all kept.
  • The new model “sees” everything ChatGPT saw.

What doesn’t:

  • Long conversations may exceed Claude’s 200K context or Gemini’s 1M context. (Most don’t, but multi-month research arcs can.)
  • The new model treats the pasted history as observed past output, not as its own reasoning. It may second-guess earlier conclusions.
  • Streaming may be slow as the model processes the long context.

This is the right move for most cases. ChatExport AI’s Markdown export is dense — a 50-message conversation is typically ~10K tokens, easily within any modern model’s window.

2. Summary primer (lossy but fast)

If the full transcript is too long, ask ChatGPT to summarise itself first:

Summarise the key conclusions, decisions, and open questions from
this conversation in a way that another AI assistant could pick up
where we left off. Include any code or data that's still relevant.

Take that summary. Paste it into the new Claude / Gemini chat as the first message:

I had a long conversation with ChatGPT that produced this summary.
Here's where we got to. Continue from this point.

[paste summary]

Loss of fidelity is real — you’re letting ChatGPT decide what was important. But for ongoing strategy discussions, a 2K-token summary is usually enough.

3. JSON export → structured prompt (highest fidelity)

For research where the structure matters: export ChatGPT as JSON. The JSON has per-turn fields (role, content, model, timestamp). You can manually filter to the turns that matter and reconstruct a clean primer:

Here are the turns from a previous conversation that are relevant
to where we're going next:

[paste filtered JSON, manually edited]

Continue from this point.

This is the move for engagements where you’ve had 200 messages but only ~20 of them carry forward.

Per-platform specifics

To Claude

Claude Sonnet 4.6 handles long pasted contexts well. It will sometimes ask “Should I treat this as input I’m reading, or as our shared history?” — clarify in the primer.

If you want Claude to use a Project, upload the Markdown export as a Project file rather than pasting it. Claude can then reference it across multiple chats.

To Gemini

Gemini 3 Pro has a 1M-token context, so even huge conversations fit. The system instructions slot is the right place to put a summary primer (“background context:

”). For Gemini Advanced, you can also upload the Markdown as a file attachment.

To DeepSeek (R1)

If you’re moving for the reasoning chain, DeepSeek-R1 will iterate on the previous reasoning. Be explicit: “Here’s where we got to. Re-examine the conclusions critically.” R1’s strength is the second-pass reasoning that catches what GPT-5 missed.

To Perplexity

Perplexity is a search-grounded chatbot — pasting a long conversation as primer doesn’t fit its UX. Better: extract a single research question from the ChatGPT conversation and ask Perplexity that question fresh. Use ChatGPT’s reasoning to formulate the question; let Perplexity find current sources.

Anti-patterns

Don’t: screenshot the ChatGPT conversation and upload to the new chat. The new model has to OCR your screenshot. Loses formatting, math, code structure. Markdown export is always better.

Don’t: ask the new model to “remember” the old conversation as if it has memory. It doesn’t. Treat every chat as a fresh model with whatever you put in the prompt.

Don’t: assume the new model will reach the same conclusions. The whole point of switching is often to get a different perspective.

A concrete example

I spent a month with ChatGPT designing a Postgres schema for a multi-tenant SaaS. Switched to Claude for the implementation phase because Claude’s longer context held the whole design in working memory better.

Flow:

  1. ChatGPT export → Markdown via ChatExport AI. ~25K tokens of design conversation.
  2. Pasted full Markdown as Claude’s first message in a new Claude Project.
  3. Asked Claude: “Read this. List the design decisions you’d push back on.” Got 4 substantive critiques in the response.
  4. Iterated on those critiques. Two weeks later the schema was implemented and tested in Claude with full context.

That’s the switching workflow when both models are doing their best work.

Try ChatExport AI

Free Chrome extension. No account.

Add to Chrome — It's Free