How to actually move your chat history between AI tools.
Most people who try to transfer ChatGPT history to Claude — or move conversations between Gemini and any other LLM — start the same way: copy a thread out of one tab, paste it into a new conversation in the other tool, and watch the formatting fall apart. Code blocks lose their language hints. Image attachments turn into broken links. Reply threading collapses into one flat wall of text. Dates disappear entirely. The receiving model has no idea which messages were yours and which were the previous assistant's.
This is why people end up paying for a migration tool instead of writing their own. The actual problem isn't getting the text out — every major LLM has some kind of export. The problem is rebuilding the structure on the other side: original timestamps so the new tool sorts your chats correctly, threading so branched responses don't all merge, attachments re-uploaded with their original conversation context, and system instructions ported to whatever the destination tool calls them.
What "supported" actually means for each pair
We support three directional pairs today: ChatGPT → Claude, ChatGPT → Gemini, and Gemini → Claude. Reverse directions (Claude as a source) are on the roadmap and unlock automatically for bundle buyers when they ship. Each direction is its own engineering problem because each destination has a different conversation data model and different rules for what an "imported" chat is allowed to contain. We test every pair against the destination tool's current production behaviour, not its documented API — the two often disagree.
Why your conversations never reach our servers
TransferLLM is a browser-local pipeline: the migration logic runs entirely in your tab. We pull from the source, transform in your browser's memory, push to the destination, and exit. There is no archive on our side, no analytics aggregating across your conversations, and no training pipeline — because none of it ever leaves your machine. You can verify this in our privacy policy and in the network tab while it runs.
When TransferLLM isn't the right tool
If you're trying to import chats between AI tools at the org level — hundreds of seats, custom auth, on-prem destinations — we don't currently fit that shape. We're built for the individual power user who is switching personal tools and doesn't want to lose context. For team migrations, email teams@transferllm.com and we'll point you at partners who do that work.
How long it actually takes
For a typical user with a few hundred conversations, end-to-end takes 3–5 minutes including authentication. The longest single migration we've run was 41,000 messages across 2,800 conversations — it finished in 18 minutes. The bottleneck is almost always the destination tool's rate limits, not our pipeline. If your migration looks like it will exceed those limits we tell you upfront and queue it across windows so nothing gets dropped.