How to export your ChatGPT history into Obsidian (three ways)
Your best thinking is scattered across ChatGPT threads while your vault sits empty of it. Here are the three real ways to fix that, from fully manual to fully automatic, with the tradeoffs stated plainly.
If you use both ChatGPT and Obsidian seriously, you have probably felt the gap between them. The conversations are where the thinking happens. The vault is where thinking is supposed to live. And there is no official bridge between the two.
There are three real ways to close that gap. One is manual and free. One is tedious but precise. One is automatic. I will walk through all three honestly, including the one I built.
Way 1: The official export, converted to Markdown
ChatGPT will not export Markdown, but it will export your entire history as data, and the community has built converters for it.
Step 1: Request the export
- In ChatGPT, click your profile icon and open Settings.
- Go to Data Controls and click Export data, then Confirm export.
- Wait for the email from OpenAI (usually minutes to hours, officially up to 7 days), then click Download data export. The link expires after 24 hours.
The ZIP contains conversations.json, which holds your full message history with timestamps and metadata. The steps are documented in OpenAI's help center. I cover the export in more detail in the guide to finding old ChatGPT conversations.
Step 2: Convert conversations.json to Markdown
As of 2026 there are several maintained community options:
- Nexus AI Chat Importer, an Obsidian community plugin that imports ChatGPT export files directly inside Obsidian and organizes conversations into Markdown notes by date. Recent versions specifically support the current ChatGPT export format. The project lives on GitHub.
- Python conversion scripts like chatgpt-markdown, which take conversations.json and write one Markdown file per conversation. Good if you are comfortable running a script and want control over the output.
- Standalone converter tools exist too, some paid, that track your conversations across repeated exports and preserve ChatGPT-specific details. Search for them once you know this category exists; the landscape shifts.
Way 2: Copy-paste per conversation, with a template
The zero-tooling way. For any single conversation that matters, select the text in ChatGPT, paste it into a new Obsidian note, and clean it up.
It works much better with a consistent template. Create a template note in Obsidian with:
- Frontmatter properties for source (chatgpt), date, and topic, so you can filter these notes later.
- A one-line summary at the top, written by you: what this conversation actually settled.
- Headings or callouts to separate your prompts from the responses, because a wall of pasted text with no speaker boundaries is nearly unreadable a month later.
I want to be honest about this one: it is tedious, and the tedium is the failure mode. Copy-pasting one important conversation takes five minutes. Copy-pasting every useful conversation is a part-time job nobody keeps doing. This way is right for the occasional high-value thread, not for your history.
Way 3: Automatic sync with ThreadRecall
This is the one I built, so judge the framing accordingly.
ThreadRecall is a menu bar app for Apple Silicon Macs (macOS 13 or later, currently a free beta) that captures your AI conversations locally as they happen and can sync them into your Obsidian vault as structured Markdown. No export requests, no scripts, no pasting.
- Live capture, local storage. Conversations from the ChatGPT desktop app are captured into a local SQLite database on your Mac. Nothing leaves the machine.
- Structured notes, not text dumps. Each synced conversation gets frontmatter with source, topic, pinned, and has_code properties, compatible with Obsidian Bases, so you can build filtered views of your AI history inside Obsidian.
- Readable formatting. Speaker turns use Obsidian's built-in callouts, so prompts and responses are visually separated instead of running together.
- Topic pages. Conversations are grouped by topic, so related threads link together in your vault instead of piling up as loose files.
- Not just ChatGPT. The same sync works for Claude, Gemini, Codex, and Perplexity conversations, so the vault becomes one archive across every AI tool you use.
- Your history too. A one-time historical import of the official ChatGPT export is included, so way 3 covers what way 1 covers, and then keeps going.
The honest limits: it is macOS-only, Apple Silicon only, and it captures from the desktop apps. If you live on Windows or only use ChatGPT in a browser tab, way 1 remains your best option.
The three ways, side by side
| Question | Way 1: Export + convert | Way 2: Copy-paste | Way 3: ThreadRecall sync |
|---|---|---|---|
| Effort | Moderate, repeated for every refresh | High, per conversation | Set up once, then automatic |
| Coverage | Full history at export time | Only what you paste | Historical import plus everything new |
| Stays current | No, snapshot only | Only with discipline | Yes, syncs as you work |
| Note structure | Depends on the converter | Whatever you build | Frontmatter, callouts, topic pages |
| Other AI apps | ChatGPT only | Anything, manually | Claude, Gemini, Codex, Perplexity too |
| Cost | Free | Free | Free beta, macOS on Apple Silicon |
Effort
- Way 1: Export + convert
- Moderate, repeated for every refresh
- Way 2: Copy-paste
- High, per conversation
- Way 3: ThreadRecall sync
- Set up once, then automatic
Coverage
- Way 1: Export + convert
- Full history at export time
- Way 2: Copy-paste
- Only what you paste
- Way 3: ThreadRecall sync
- Historical import plus everything new
Stays current
- Way 1: Export + convert
- No, snapshot only
- Way 2: Copy-paste
- Only with discipline
- Way 3: ThreadRecall sync
- Yes, syncs as you work
Note structure
- Way 1: Export + convert
- Depends on the converter
- Way 2: Copy-paste
- Whatever you build
- Way 3: ThreadRecall sync
- Frontmatter, callouts, topic pages
Other AI apps
- Way 1: Export + convert
- ChatGPT only
- Way 2: Copy-paste
- Anything, manually
- Way 3: ThreadRecall sync
- Claude, Gemini, Codex, Perplexity too
Cost
- Way 1: Export + convert
- Free
- Way 2: Copy-paste
- Free
- Way 3: ThreadRecall sync
- Free beta, macOS on Apple Silicon
Which way should you pick?
Pick way 1 if you want a one-time archive
You want your history backed up in your vault, you do not mind that it goes stale, or you are not on a Mac. The official export plus the Nexus importer or a conversion script does the job for free.
Pick way 2 if only a few conversations matter
You have a handful of genuinely important threads and you would rather curate than automate. Five minutes per conversation, full editorial control.
Pick way 3 if you want the vault to stay current
You use AI tools daily and you want your Obsidian vault to reflect that work without you doing anything. That continuous, structured, local pipeline is exactly what ThreadRecall exists for.
ThreadRecall captures ChatGPT, Claude, Gemini, Codex, and Perplexity conversations locally and syncs them to your vault as structured notes. Free beta, early access open.


