I have written a few days back about the search for near perfect note taking software. I would like to provide a short rundown on the features of QOwnNotes in this post.

QOwnNotes is a open source notepad with markdown support and hierarchical notes. Let us look at some features.

Markdown support

Markdown is the default plaintext editing option. Files can be written in plain text and saved as markdown files. This is crucial for me because my fundamental goal is to create a personal knowledge base accessible to me in the browser. It may either be public accessible website or a website local to my machine.

QOwnNotes has a markdown preview panel which lets us view our rendered markdown live next to the editor panel. With the live preview present, I have no use for other Linux desktop markdown editors like typora, abricotine, retext and remarkable.

This is how the editor and preview look like.

Picture of QOwnNotes editor and preview panels

Hierarchical notes

Let us say, we have the following structure with some notes. Note that the files learning-resources.md and tutorials.md are at the root level of the learning folder.

└── learning
    ├── dotnet
    │   ├── designpatterns.md
    │   ├── generics.md
    │   └── solid.md
    ├── javascript
    │   ├── angular.md
    │   ├── es6.md
    │   └── react.md
    ├── learning-resources.md
    └── tutorials.md

3 directories, 9 files

To be able to view this structure inside QOwnNotes

  • create a note folder testing from the settings dialog
  • select path to learning folder as the note folder path
  • select Use note subfolders option

This is how it looks. As you can see here, the folder structure that we created before is showing up as is.

Picture of QOwnNotes note folder hierarchy

In the top panel, we see the folders and learning folder is selected. In the bottom panel, we see all the files in the learning folders, including its subfolders. If we now select the dotnet folder, in the bottom panel, we will only see the files from this folder.

Picture of QOwnNotes note folder hierarchy

Apart from this display of folder hierarchy, we can also apply tags to files. All tags created across the the entire note folder called testing will show up in the middle.

Here is an example from one of my note folders with two tags, csharp and linux.

Picture of QOwnNotes note folder hierarchy

Note folders

We can create multiple note folders in the settings dialog. Each note folder will act as a workspace. Notes in a note folder will only show up in that note folder.

Create all your note folders and designate one note folder as active note folder. To view and switch between note folders, there is a panel available. It might not be displayed by default or if you changed to Minimal layout mode. To re-enable it, select the following menu item.

Window > Panels > Note folder panel

This is particularly useful when we have many text files in a complex folder hierarchy.

In QOwnNotes, confusingly enough there is a feature called workspaces, but it is for different layouts we would like to use.

Keyboard accessibility

Most of the menu items are keyboard accessible. I use few shortcuts often.

  • Add tag to note: Alt+Shift+A
  • Switch to next note: Alt+Down
  • Switch to previous note: Alt+Prev
  • Select note folder: Ctrl+Alt+;
  • Insert current time: Ctrl+T

Conclusion

There are other features you will find useful and more.

  • note linking
  • note splitting
  • built-in todo list
  • distraction free mode
  • encryption
  • panel unlocking
  • scriptability

QOwnNotes has replaced markdown editors and even geany for editing markdown files. I have been using it extensively this past week and recommend it very highly. If you need a quality markdown notepad for maintaining your personal knowledge base, give it a try.

How do you pronounce QOwnNotes? For something that I am going to use every waking moment, I need to know this. Some possibilities include — Queue Own Notes, Cone Notes, Connotes, QNote, QNotes. Let us try to find out.

Learn more about QOwnNotes on its github repository. To play with markdown, use Dingus.