Taking notes helps you not to forget things, teaches you to express yourself, brainstorms your thoughts, research a topic, and so many more things. I used to take notes all my life. Maybe it’s because I’m Swiss, they say we are well organised.
I used to write in OneNote for 10+ years. I have notebooks for my bachelor studies and every workplace I worked. I curated a huge notebook with all my business knowledge, and I have a personal one for journaling and organising my personal life.
For a while, I had the desire to switch. There are many reasons. A major one is OneNote isn’t good anymore with bugs when you search macOS, and the look & feel isn’t modern anymore. But what is a modern note-taking app in 2021?
Alternatives or Today’s Choice?
A quick Google Search shows that there are plenty of apps, each promising the world. I tested quite a few of them, and below, you see why I didn’t go with any of them.
- Notion.io - Write, plan, & get organized in one place
➖ No offline mode, slowish feeling and proprietary format
- Roam - A note-taking tool for networked thought
➖ Super expensive, proprietary format
- Joplin - An open-source note-taking app
➖ Perfect, except local file names are using a random hash and sub-folders
- Plain Markdown
➖ No support for images, no preview and no notebook container for all your notes
These are my requirements and might differ from yours. My goal was to own my notes as it’s my data and my knowledge. Plus, I didn’t want to migrate from one proprietary format into the next one to lock me in yet another time. Therefore, I wanted to write plain text with the Markdown Format and sync them offline to my hard drive.
These requirements put off already a lot of apps. However, I gave none plain-text tools like Notion a chance in case these gave me plenty of joy and multiple excellent features.
A requirement that might be a killer for many of you, which I do not have, is collaborating with others. Sure, I like to share some of my best notes, specific recipes or similar, but I do not need to work together on my journals, know-how-box and other notes. If I want to share a single page, I can export Markdown, generate an HTML/PDF. In case I want an interactive Coffee List, I use Notion or any other tools suited.
The Ultimate Note-Taking App
So what tool did I end using then? What is the ultimate note-taking app in 2021? It’s called Obsidian, and it’s been a joy ever since. I’m the complete owner of my notes, and it’s gorgeously designed.
Now I even have tons of features more, e.g. the Graph View that I didn’t even know I lacked. But most of all, Obsidian is just a wrapper around your folders and Markdown files, including one single folder called
.obsidian in your root. That’s it! In case you like to use another editor such as vim, VS Code or just any other Text Editor you might have, open all your files individually. Or, in case you want to open all notes in one go, use open Obsidian.
In love with how my @obsdmd is looking with the Yin & Yang themehttps://t.co/acOg2QNKZN pic.twitter.com/KatRawCUEY— Ehsan Nour (@thisisehsan) September 16, 2021
Price and Features
Let’s get this out of the way, Obsidian is entirely free! You can add two paid features, 1. if you want to use their integrated sync tool or 2. if you want to share your notes, including the fancy graph and outline view.
But yeah, as it is plain text stored on your hard drive, you can use Dropbox, Google Drive or any other sync tool! As I’m using Sync.com with end-to-end encryption for all my files, it does not work nicely on my mobile. That’s why I added Obsidian Sync. I could have added it to Dropbox, but I didn’t want to give them my most private notes.
If you want to check out all the other features, see the complete list at Obsidian.md or find more customisation with 25 core and 329 community plugins, 60+ themes, plus custom styling, you can tweak Obsidian to work and look exactly how you want it.
Some community plugins do a single thing extremely well, like Calendar and Kanban. Others unlock endless possibilities: Dataview and Templater are great examples.
That’s why I switched to Obsidian and why you should consider it too. Below, we get a bit nerdier on exporting from OneNote with Python if you still use it today. Be aware that it’s pretty hard to export its proprietary format to anything usable. But that’s why I’m sharing it as I did exactly that. I have a collection of 10+ years of notes, so I didn’t want to begin from scratch.
I also explain how the structure with just folders and Markdown files look like compared to my created OneNote travel plan to Asia.
Let’s Get Nerdy
Below I compare my 2017 notes to the imported notes to Obsidian and explain how I exported my notes from OneNote to Markdown and finally imported them to Obsidian.
Structure and Organisations
Just in case, it’s hard to believe how it looks for bigger notebooks when you only use plain Markdown files and folders. I blogged about OneNote in an earlier post and how I structured a travel back in 2017 to Asia.
As I imported my old notes, this is how it looks on my hard drive:
Everything without an extension at the end means it is a folder. You see, besides my notes
.png’s. These are print screens of travel tickets or similar (I excluded some not to bloat it too much). Also, I’ve hidden these pictures in the file tree of Obsidian as I want them in my notes, but I don’t need to see them when browsing through the folders. You probably noticed the number in the folder title, these are not the nicest, but it was the only way to keep the order of OneNote after exporting. For newer notes, you do not need them any longer, and I might remove them at some point. As everything is now plain text, I can search, replace or write a small Python script to fix these things later on.
And that is how it looks in Obsidian - on the left the same tree as above, in the middle is the Markdown file with the practical notes, and on the right, I added the graph view, which does not have too many connections yet as I haven’t used that features back then in OneNote 😉.
How did I export my 10+ of OneNote to Markdown
In case you are stuck with OneNote as well, I hope these scrips will help you to export them as HTML first and convert them to Markdown so that you’re the owner of your notes again.
I started with the Python Script from Daniel Mouritzen that helped me get started with configuring the Azure API to pull data from it.
I added some additional features that were needed for my kind of OneNote structure. For example, the section-groups were not correctly handled, and I also fixed some errors I got along the way—the finalised onenote_export.py you can find on GitHub. The top comments of the script contain a more step-by-step explanation of how to do everything in more detail.
If you run that script until you export all your notebooks, you end up with lots of folders and an HTML file with your notes. HTML is excellent as it keeps the structure of your notes, e.g. if you added two columns or three, the HTML could rebuild that. But on the other hand, they are read-only, which is quite bad for notes as you might want to change, search, combine them later on.
Therefore I created another straightforward Python script html2markdown.py to loop through the folder recursively and convert the HTML to a Markdown file with markdownify. If you’re happy with it, you can delete all HTML’s, and you’re done.
Open these folders with Obsidian, and you successfully migrated over to a modern note-taking app in 2021 with hosting the source locally wherever you want.
I hope you liked this write up. Let me know what you think below and also what tool are you using right now and why?
Republished on Medium.