Exporting your ChatGPT conversations to Obsidian

I find myself writing a lot of things in ChatGPT that I would otherwise want to put in Obsidian. So I made a script to convert all your ChatGPT conversations to Obsidian markdown files:

(I was going to link to it but the forum won’t let me :slightly_frowning_face:. If you go on GitHub it’s mk12/scripts, and the file is convert-chatgpt-export.js)

To use it:

  1. Follow the ChatGPT export instructions at (again cannot link :slightly_frowning_face:)
  2. Download it and find conversations.json
  3. Test out one chat by copying its URL and running node convert-chatgpt-export.js conversations.json CHAT_URL. It will print to stdout.
  4. Make a directory in your vault, e.g. /path/to/MyVault/ChatGPT
  5. Run node convert-chatgpt-export.js conversations.json --out /path/to/MyVault/ChatGPT

And now all your chats are searchable in your vault!

It’s a bit annoying to have to do it manually. If there’s enough interest, I might write a plugin to partially automate it (you’d probably still have to generate an export yourself since ChatGPT controls that with an email flow, but at least it would avoid needing to use the command line).

6 Likes

You need to gain some level of trust on the forum before being able to post a link.

Here is the link: GitHub - mk12/scripts: An assorted collection of scripts.

Cheers, Marko :nerd_face:

3 Likes

Web Clipper natively supports clipping ChatGPT and Claude convos.

1 Like

Been doing this since Chat first launched. There have been a lot of methods over the years, but the best method I’ve come to find nowadays in 2025 is the official clipper by Obisidan.

A good backup method is to just use the copy buttons in the chat itself. You’ll find you actually don’t need the entire conversation, and in those moments, the copy button works wonders, not to mention the additional copy buttons they have in codeblocks now.

Alternatively, to post a url without it being a “link”

hxxps://github.com/mk12/scripts

and just remind people to change the “xx” back to a “tt”

2 Likes

Checkout Nexus AI Chat Importer, the plug-in I developed that allows you to import CHATGPT and Claude exports into Obsidian with attachments and artifacts.

Might make your life easier.

I just release version 1.2.0, available in community plug-ins

1 Like

This post is late, but I still wanted to share what I ended up building myself—because the Web Clipper route kept losing code blocks and links on chat pages.

chat2vault is a small Chrome extension that saves the conversation you’re viewing directly into your vault via obsidian:// URIs—nothing to install or configure on the Obsidian side (no Local REST API plugin, no API key, no port).

Each time you save, you get:

  • YAML frontmatter: title, source URL, platform, date, tags
  • Code blocks with language tags, tables, nested lists, links
  • LaTeX preserved as $…$ / $$…$$, which Obsidian can render directly
  • Claude’s thinking blocks and DeepSeek’s DeepThink become collapsible callouts
  • A preview box where you can edit the Markdown before the note lands in your vault
  • If you save the same conversation again later, only new messages are appended to the original note

It supports claude.ai, chatgpt, deepseek, and gemini. Saving / copying / downloading are all free; custom templates and append mode are a one-time $19—and that’s exactly the money that makes me willing to keep fixing things when these sites change their DOM (and they really do change it—the day after I launched, Claude renamed a class).

Search “chat2vault” in the Chrome Web Store to find it. I’d love to hear what’s missing—what I’m working on next is bulk export of the entire conversation list.