Comparing different tools ... Obsidian, RemNote, Notion, GoodNotes

  • Obsidian
    • Backlinks done “right”. (Not all of roams features, but markdown on your own computer, styleable CSS, are pretty awesome)
  • Notion - shared documentation
    • Notes + Databases + Views
  • RemNote -
    • Notes + Personal Knowledgebase + Flashcards
    • Note - still pretty Beta …
  • GoodNotes
    • Notes + Writing
  • Anki
    • Flashcards done almost right (needs to be prettier)

I’m curious about how each of these is best for certain kinds of tasks.

For example:

  • Notion
    • If I had a large list of content that I had summarized (Books, Articles, Videos). I might have tags of (Author, Category, Reference Link, Date Reviewed), it is nice to see all of that at once.
      • I could have quotes, with person who made quote, quote type, quote itself. Then each quote could have a page with my reflections as I work to embody that quote
      • Seems like the key benefit is searching (which Obsidian does well enough), Exporting summarized information (Maybe I want to send friends all my quotes),
      • However, for knowledge growth, it really isn’t quite as natural to (for example) summarize a book by having many smaller embedded atomic ideas, which can independently evolve. Obsidian is better here.
    • If I wanted to use it for meeting minutes
      • Let’s you create templates with key items pretty easily
      • However, not hard to a have a markdown file as a template in Obsidian which does the same thing
      • But you could also filter and see summary items based on projects … show all meeting minutes related to project “Build 8th wonder of the world” along with summary statistics. And the fact that Notion knows what dates are and can do things with them is pretty cool.

GoodNote (or Notability, etc.)

  • Seems best when you want to rapidly add structure beyond text (diagrams, columns, etc.). Few tools would require so relatively little training to be able to deliver so very much functionality

I really like the idea of RemNote, but it doesn’t seem stable enough, so I’d be fine with Obsidian, and copy/pasting to Anki. RemNote also has the idea of user-defined fields, which is a great idea, but doesn’t do much with it.

I think it would be pretty cool if Obsidian could add DB functionality.

It could probably get most of the benefit of RemNote just by creating some syntax (optional to turn on) which would allow for easy export to Anki.

What are your thoughts?



Obsidian & notion: I’m going through a similar assessment right now and I agree: some sort of db capability would be a good improvement for obsidian. Notion looks more capable at first glance but I feel it would have too many features I would not use. One difficult struggle for me is that Obsidian does not have a proper mobile solution. I feel that is a letdown


Having used since it started (and still really like it) one of the big reasons I am moving away from it is the fact that my notes are in a DB.

Obsidians flat file structure is a major plus in my opinion and as long as they provide highly efficient and fast searches why would you want to hide everything away in a DB?

Please guys, never change it :slight_smile:


I’m using Notion primarily to store captured data, mostly via Readwise. I use Obsidian primarily as a zettelkasten.


@DavidL / @yalcin : What do you mean by “DB functionality?” How would this be implemented? What would you do to add this functionality without sacrificing Obsidian’s own-your-data/plaintext file format?

I’ve been thinking about this a lot, and probably it is better for obsidian to get even more amazing at it’s core mission than to go different directions.

Eventually, once other low-hanging fruit is taken, then perhaps look at DB.

To answer the question of “how” to do DB … I agree with everyone - stick with markdown text files. That’s a great idea. I’d probably propose something like:

  • Option to turn it on
  • If on, then files that start with ! in their file names become definitions for tables (meta data) … fields, field types, etc. (with smart defaults - everything is text unless you otherwise specify, if you say “date” in the field name it is by default treated as a date, etc.). For example you might have a meta file called !Books which has fields of Author, date published, etc.
  • Then you can add a tag #!Books to a page indicating that page is of type “Book”. Then within that #Author refers to the Author of that book, and displays the author
  • This handles data entry & organization, then there would need to be layers for display & search, etc.

But as I said, upon further thought, it shouldn’t be a high priority, as there are other features that will make obsidian better at it’s core function. Here, maybe the question is how can we create simple tools that would allow for easy interface with other tools.

If there were an easy way to use “Templates” which could then be setup to allow for easy export of a certain class of things using that template.

  • Maybe I have a template !#Books, and I can also have a tool that exports #Books as a csv file, for import into Excel.
  • Maybe I have a template !#flashcard and this makes it easy to export to Anki

I don’t know … just brainstorming. Seems better to get really good at 1 thing, and make it easy to integrate with other tools without too much overhead. (At least at the beginning)


1 Like

Sounds like a great case for a plug-in! There are ways of representing data in markdown already—see e.g., YAML frontmatter. Perhaps a plug-in could be developed to do things with certain kinds of data in YAML.

When Obsidian’s API is public, people will be able to build this kind of thing of their own accord.


Hi Ryan

You said it way better than I did, and I completely agree!

Something like YAML + Plugin fits really cleanly within the Obsidian way of doing things (text, simple, flexible) and would allow for a ton of export options.


1 Like

Hi Yalcin,

I put my Obsidian Vault in my google drive, and then click “Open in --> 1 Writer”.

That lets me view or even edit on my phone.

It’s one of the advantages of them using Markdown files - not a full editor but it actually means that it functions “ok” on every platform that exists!


1 Like

Same, but my vault is in my Nextcloud and I use Markor on my phone :slight_smile:
It’s not amazing, but it definitely works well enough that I can take notes on the go and sort them out when back on a computer.

1 Like

db functionality for me: Let’s say I want to create a database for my projects and I want every project to have some attributes (date, client, e-mails exchanged, files attached, status etc). It would be useful for me if I could create this kind of a structure that I can relate to / retrieve / search this type of structure


Couldn’t you do the same with tags and a complex search in Obsidian as it is now?

not really: connection via tags is not truly a sustainable and long term solution. You can only search for the tags. With a proper relational database you actually store/view data in many more ways

I think most of the requests for DB functions you mention here could probably be done with careful handling of YAML (or similar) metadata added to the existing text files. We’ve already got some other discussions of ways to do that on this board (search for YAML or here for one thread.

Just a thought…

1 Like

I understand what you mean. However “can be done” does not mean it is an effective way of doing something properly.

To me it really boils down to, do you want your information stored in a database or do you want your information stored in plain text? There are pros and cons to each type of storage. One of the reasons I chose Obsidian is for plain text storage and no database. I have experience and like working with text files using scripting languages. If you’re not into scripting or don’t like it, perhaps that isn’t a “proper” way to interface with information in your opinion, it’s still effective. Different strokes for different folks. That’s why there are different apps that use different technologies and have different users.


This is an interesting point @kbrede. I will think about it. Can you elaborate a bit further on what you mean/how you can interface with information in text?.. ie: can you categorize/relate to simple text in a way that a database can: Without duplication, establishing relationships, assigning attributes and retrieving the exact data when needed etc?

1 Like

I think the YAML solution can give everything. Once you have a proper markup of attributes, it really can behave like a DB if desired. It’s probably even possible to tack-on views, SQL, etc if desired. Probably you could handle it something like how Google Sheets handles the Query function.

The key challenge is tagging things appropriately, and YAML is an elegant solution that doesn’t break the “everything is text and easily exported” paradigm.

The main thing is that there would need to be some convention that would allow you to tag a “thing” ( a book, a customer, etc.). Is this 1 consecutive block? And how do we know the “nature” (table name) of that thing? Does that become the first field?

1 Like

@yalcin it would be helpful if you could share some specific examples of the kinds of things you’d like to be able to do that you believe storing notes in a relational db would enable

@randulfr for example: I own a consultancy company, have several clients from different industries, have several consultants that work for my company with different skillsets. In this context we work on one or more projects with every client and one (or more) of my consultants are responsible for every single project. Every project has a calendar of its own, has multiple steps complete/incomplete and eventually they are finalized with an outcome (a report, a presentation etc) and an invoice. I want to create a database where I can track my projects, consultants, outcome/files, tasks, status, next steps (for incomplete projects) and invoices (for completed projects), satisfaction surveys (for completed projects), consultant based notes/remarks for every project. Furthermore I want to quickly assess which consultant is suited for which project based on their skillsets, competency and experience.
I would hug you (sincerely) if you can tell me how to create this knowledge base within a text based only environment :slight_smile: