To export a ChatGPT conversation to Obsidian, save it as a Markdown (.md) file inside your vault folder. ChatGPT has no button for this, so there are two routes. For one chat, copy it or use an exporter extension to produce a .md file with a front matter block, and drop it in the vault. For your whole history, request ChatGPT’s data export and convert its conversations.json into one note per chat. Both are below, followed by file naming, tags, linking and privacy.
The Obsidian half is easy: Obsidian stores notes as Markdown plain text files in a vault folder, so any .md file you save there shows up in the app. The hard part is getting good Markdown out of ChatGPT.
Each ChatGPT answer has a copy button, or you can select the text by hand. Paste into a new note.
Replies in the Obsidian forum thread Exporting your ChatGPT conversations to Obsidian say Obsidian’s official Web Clipper can clip ChatGPT and Claude chats. We have not tested it on long chats, code or math, so try one conversation first.
An extension adds an Export button to chatgpt.com and writes the open conversation to a file. We cover ours, Tidyleaf AI Chat Exporter, in its own section below. Whichever one you pick, check four things in the output:
python ` is highlighted in Obsidian.$ and $$, which Obsidian renders, instead of a jumble of Unicode.In ChatGPT, open your profile menu, then Settings, Data controls, and under Export data select Export, then Confirm export. OpenAI’s help page says the export can take up to 7 days, arrives by email (or SMS for phone-only accounts), and the download link expires 24 hours after you receive it. Self-service export is not available in ChatGPT Business, Enterprise or Healthcare workspaces. The ZIP holds your chat history as a conversations.json file and a chat.html page.
This is where the built-in route stops. conversations.json is one large file in which each conversation is a tree of message nodes, not a readable transcript, and chat.html is one long page with no Markdown. Neither can be dropped into a vault as it is.
The Obsidian forum thread linked above offers three ways to convert it:
conversations.json and writes Markdown files into a folder you choose. It is free, but you need Node installed and run it from a terminal.obsidian:// links, one chat at a time.Read any script before you run it. After converting, spot-check a long chat, one with code and one with math.
Chat titles are messy: duplicates, slashes, colons, question marks. A scheme that works:
2026-10-09 Debugging a regex.md. Notes sort by date in the file explorer, and two chats with the same title do not collide.#, |, ^, :, %%, [[ or ]] may not work as links. File systems also reject \ / * ? " < >, so drop those too.Tidyleaf’s bulk export follows this scheme (see below); the same rules work on any script’s output.
Obsidian stores properties as YAML at the top of a note, between two --- lines. Its three default properties are tags, aliases and cssclasses, and tags is a list. A useful block for a chat note looks like this:
---
title: "Debugging a regex"
provider: "ChatGPT"
created: 2026-10-09
url: "https://chatgpt.com/c/..."
tags:
- ai-chat
- chatgpt
---
Why these fields:
created lets you sort and filter chats by date, for example with a Bases view or a Dataview query if you use that plugin.url brings you back to the original chat if you want to continue it.provider (and model, if you record it) matters once you also keep Claude or Gemini chats in the same vault.ai-chat, plus one per provider, is enough. Add topic tags by hand later, on the chats you reuse; hundreds of auto-generated tags make the tag pane useless.A chat note is raw material. It becomes useful when other notes point to it.
[[2026-10-09 Debugging a regex]]. Use a pipe to change the display text: [[2026-10-09 Debugging a regex|the regex chat]].[[Note name#Heading]]. If your export turns each message into a ## heading (User, Assistant), you can link straight to the answer you want.AI chats/ and add an index note per project.Chats often hold names, work details, keys pasted by mistake and half-formed ideas. Before you import hundreds of them:
.gitignore if not.Disclosure: Tidyleaf is us, and this is our product.
Tidyleaf AI Chat Exporter is one extension for chatgpt.com, claude.ai and gemini.google.com. On ChatGPT it asks for the conversation the way ChatGPT’s own page does, with your existing login, so you get the full active branch of the chat, not just what is on screen. Your chats are never uploaded: there is no Tidyleaf server, no account and no tracking. The only thing it sends anywhere is a Pro license key, if you enter one, to the payment provider Polar to check it.
Free: export the open chat to Markdown, plain text, JSON or PDF. Every message is labelled User or Assistant, code blocks keep their language tag, tables, lists and links become Markdown, and LaTeX math is kept as source between $ and $$. That plain Markdown file already works in a vault, and you can paste in your own front matter.
Tidyleaf Pro ($24 a year or $3.99 a month, one key for every Tidyleaf extension) adds:
ai-chat plus the site name). It works for the open chat on all three sites and for the bulk zip.2026-10-09 Title.md, with characters such as / : # | [ ] removed and duplicate names numbered. Large accounts take a few minutes because chats are fetched one at a time; keep the tab open until the zip downloads. Anything it could not fetch is listed in a text file in the zip. This replaces the script and the wait for the data-export email. It is a paid feature and does not work on Gemini.Add to Chrome, free Tidyleaf AI Chat Exporter is on the Chrome Web Store. It needs Chrome 114 or later.
More on the extension: Tidyleaf AI Chat Exporter.
Can Obsidian import ChatGPT’s conversations.json directly?
No. Obsidian works with Markdown files, and conversations.json is one large file in which each chat is a tree of message nodes. Convert it to one Markdown note per chat first, with a script, a community plugin such as Nexus AI Chat Importer, or an exporter with bulk export.
Will code blocks and LaTeX survive the export?
They survive if the exporter keeps code fences with their language tag and leaves math as LaTeX source between $ and $$. Check one chat with code and one with math before you convert everything.
What should I put in the front matter of a ChatGPT note?
A title, a created date, the chat URL and a short tags list are enough. Keep tags few and shared across chats, such as ai-chat and the provider name, and add topic tags by hand later.
Is it safe to put my ChatGPT history in an Obsidian vault? Obsidian keeps notes as local files on your computer, so the risk is wherever the vault goes next: a sync service, a Git repository or a published site. Review chats for secrets and keep them in a folder or vault that you do not share.
Tidyleaf is an independent maker of browser extensions. Not affiliated with, endorsed by or sponsored by OpenAI or Obsidian. ChatGPT and Obsidian are trademarks of their respective owners, named only to describe the products the extension works with.