DayOne to Obsidian script

Hi @dcb

Would you be willing to help another Day One deserter migrate journal entries to Obsidian?

I’m also running macOS Big Sur.

I also have python installed and likewise don’t know how to run the script…

Any guidance would be appreciated.

Sorry that I haven’t seen this until now. Did you get it working? Not sure I can add much more than the instructions already given.

In a terminal window, CD to the folder where you have the script then “python script name”

I used this the other day to import approximately 500 entries from Day One.

A few posts with images ended up with links to non-existent files, but no big deal and easy to fix manually.

Thanks for sharing.


I’m trying to use this script but I get errors. I have been able to fix some (I don’t know Python really) but am stuck at
File "", line 40, in <module> with open(fn, encoding='utf-8') as json_file: TypeError: 'encoding' is an invalid keyword argument for this function

Any ideas how to fix this? I’m on a M1 MacBook Pro with the lastest release of Big Sur.

Best regards,

I think my python installation was messed up somehow. Running the script using Thonny it works fine.

Best regards,

this script was a lifesaver, thank you VERY much.

The only gotcha I found was that it imported all of my images as JPG files. Since they are primarily PNG, this meant that Obsidian can’t find them. They are IN Obsidian, but whenever a note references them, it uses some other (random, AFICT) string followed by a JPG extension. So I then open DayOne, get the actual file name and replace it in Obsidian. I’m sure there’s a better, faster, more scripted way to fix this, but it works for me.

Thank you again for making this script as I was able to import something like 12,000 entries from DayOne and no longer have to pay their subscription fee. Plus my data is MINE on my machine and backed up by my backup.

Thank you!

1 Like

What you could possibly do – very, very carefully – is use an editor that can replace text across multiple files and replace all .jpg with .png.

One other option to consider if you’re looking to export Day One journals is to use the Bear app as an intermediary. In Day One, export your journals to a JSON file. Import to Bear (Bear has an import function for Day One). Once your journal entries are all in Bear, you can export everything to Markdown. I did this last night for 3,700 journal entries, many with pictures, and it looks like they all came across perfectly.

In my case, I’m evaluating the Craft app as a replacement for Day One, but once Bear produces the markdown files, it should work fine in Obsidian as well.

1 Like