Meta - Migration Workflows

It would be great if there were an easy way to export from Day One Classic to Obsidian. Entries are formatted as XML

no success here…

Spent the whole evening trying, so frustrating

I’ve used this obnoxious system that uses Bear link

I’d like to switch from Joplin to Obsidian, but I fear I’ll lose metadata. Any scripts, suggestions or guides?

Thanks a lot!

1 Like

I am looking to switch around 14,000 flash cards from Anki to Obsidian. Any help will be appreciated.

This would be helpful for me too. I’m using Joplin, a great package, for handling my Evernote notes (from a previous life :slight_smile:), but see some limits, e.g., handling attached PDFs. In any case, I would want to make annotations on the PDFs (as I do now with MarginNote 3) and link files, groups and individual notes. And yes, I’d like to keep a link to the original file in the metadata, files with annotations/comments and have a log of editing changes.

1 Like

Exactly! Obsidians considers only links among files and text editing, but I believe it should interpret metadata and YAML front matter, too

We can even use “Keep-it-Markdown”. It doesn’t need a full export. You can export daily if you want to :stuck_out_tongue:. Kinda cool. Uses unofficial keep API

Has anyone used Drafts as a mobile front end? It is a very mature markdown editor that uses linking. I’m capturing in Drafts, copy and pasting to Obsidian. (Don’t want to make Drafts folder into a vault yet.) Sophisticated action system. Good text wrangling, markdown translation. The dev is superb.

1 Like

Don’t think Drafts works as a mobile FE - see here --> How do I work with Obsidian on Mobile?

I wrote a simple action to Send to Obsidian with Tags.

I wrote a Python script that converts every row of all CSV files in the working directory and subdirectories into markdown files according to the formatting settings you choose per column.

You can:

  • add everything as YAML frontmatter
  • choose the delimiter of your CSV files
  • the maximum file name length
  • from which column the file name should be generated
  • choose the markdown formatting for each column
  • write the chosen settings to
  • or read settings you set before.

It will let you choose the settings for the first file in the list of CSV files it creates, so all the CSV files you run it on have to have the same columns if you want the settings to be applied consistently/if you want it not to fail. (This means that you should only run the script on CSV files with the same number of rows/formatting at once and choose different settings for the next batch.)

This script may be helpful if you want to transfer your data from programs that can export to CSV. The script should give you the best of both worlds. Markdown with its linking, tags and graph view (from Obsidian) and, optionally, all the info as YAML which you can query with dataview to preserve the advantages of a database.

Please consult the Readme for information on installation and updates to the script.
This post will most likely not be updated. To get an up-to-date overview of the features, please follow the link to the repo and read the Readme.

If you find any bugs/have feature requests, please open an issue in the repo.

OPML (XLM) import to Obsidian

OPML is a common format for nested lists (i.e. outliners).

You may be tempted to try pandoc --from opml --to gfm, but unfortunately it interprets nested lists as headings, and converts each nesting level to a heading level. This is wrong. Maybe you’re OK with that format, but this guide is how to turn it into a true outline (hierarchical nested list).

Here is how to get the nested list into obsidian

  1. Log in to and start at a blank document. Note that Dynalist is the other product the Obsidian developers maintain, and thus why this conversion works well.
  2. Open your OPML file in a text editor and copy the whole thing
  3. Paste into the Dynalist document. This automatically runs a parser in the background to convert it into Dynalist format. You should see a nested list.
  4. click the hamburger menu (3 lines near the title) and click Export.
  5. click the Formatted tab. Copy the entire contents.
  6. Paste into an Obsidian document. This automatically runs are parser in the background and should result in a properly nested list in Obsidian.
  7. Done


This topic may be of interest


  • Migration from Note-Station
  • Markdown migrations
    • Convert between different types of Markdown
  • HTML to Markdown conversion
  • Markdown to HTML

Uses pandoc for part of the conversion but also handles the parts of files pandoc does not convert through some pre and post processing of files.

Hope it’s of help to somebody.

Migration from Standard Notes to Obsidian

Quick explanation:

  • Export Standard Notes to Text (Download Backup - Decrypted)
  • Import txt files to Bear, then export as Markdown to your Obsidian vault

Export from Standard Notes Desktop
From the app

  • Click on Account
  • Under Data Backups, choose Decrypted
  • Click Download Backup, and save in a folder of your choice

Import into Bear

  • Download Bear if you need to, then open
  • Click File > Import Notes
  • Bear doesn’t have file names, only titles, so choose “Use File Name as Title”. No point clicking on “Keep Original Creation and Modification Date” as all the exported text files will have the same creation and modification date.
  • Select all the notes you want to export
  • File > Export Notes
  • Choose Export As: Markdown
  • Export Notes to a folder of your choice


  • Once you have your notes from all your old services in 1 folder, use that as the Obsidian vault.

New on Obsidian and new to this forum, so forgive me if this has already been discussed before (I did a quick search, but I couldn’t find anything about what I’m about to write).
The topic, of course, is migrating from Roam to Obsidian, and I have a (quite) big graph “locked” in some EDN/JSON file.
I tried importing all my graph in Logseq (don’t ask me how I stumbled in this workaround… too long story) and then opening Logseq directory with Obsidian.

Everything is there and correctly (back)linked!!!

I did a quick “tour” of my notes and I only found some minor glitches with {{alias:SOMETHING… and with (arbitrary) id’s appended to blocks due to a Table of Content creator plugin I installed, but this seems to me the easiest path to Obsidian from Roam.

Anyone else tried this? How did you manage to solve glitches?

Thank you so much @Silver, this makes coming from Ulysses so much easier!

Here’s a NodeJS script I’m working on to migrate from Dynalist to Obsidian.

It connects to the Dynalist API and converts documents into Obsidian compatible MD files.