The best note-taking software on Linux

I would like to share my thoughts about one of the most necessary software for any user, a note-taking software. I use exclusively Linux OS and all the programs I describe I tested on Linux, but most of them are also available on other platforms.

I absolutely agree with the saying that the worst piece of paper is better than the best memory. Given that we live in the digital age, I would also add that an electronic note synchronized with a cloud is even better than the best paper because paper is so easy to lose :) .

The worst piece of paper is better than the best memory.

Nowadays we face a constant flow of enormous amount of information and remembering things is harder than ever. Often we have no time to consume all the information we want, so how we can remember everything.

Taking notes is an essential part of a researcher's routine, and it has to be done efficiently.

Earlier in my career, my note-taking process would just be to briefly describe some key points of my work in a text document. Using a simple word processor was enough for me. Not surprising, it did not take me a long time to accumulate enough notes that it became difficult to find the right one when I needed it. Eventually, I started to use note-taking software.

My top three note-taking programs

I have tried many note-taking programs. I used some of them for a couple of minutes others for months or years.

All my computers run Linux and being able to use software on Linux platform was a must. The second requirement was the hierarchical or tree-like structure of notes organizing when one notebook can be placed within another. I find such organizing structure to be the most convenient. The third key feature was ease of use of images, tables, links and programming code.

Here, I describe the three note-taking programs I used the longest.

Evernote - the most popular note-taking software

Evernote is the most popular note-taking software, and it has been my first note-taking program. It has Windows/Mac/Mobile clients which all synchronize with Evernote servers.

Unfortunately, there is no native client for Linux. Evernote has a decent web client, though more limited in comparison to desktop clients, so the absence of Linux desktop client was a significant drawback but not an absolute deal-breaker. Besides, I had a Windows computer at work during that time.

Screenshot of Evernote, the most popular note-taking software
The web interface of Evernote

My impression about Evernote is that it is an excellent program for general-purpose note-taking. You can quickly make basic text formatting, insert tables, images, links and attach files.

Unfortunately, there is no option to paste programming code into a code box with syntax recognition. The only way to designate code is to use it as a plain text with some mono font style.

Evernote organizes notes in notebooks with tag system. It is a good way to catalog notes, but I prefer to keep my notes in the tree-like hierarchical structure.

Besides the absence of code boxes, hierarchical structure, and native Linux client, it is very annoying that there is no option to export notes from a web client. Finally, you have to pay for premium if you want to use Evernote offline.

So, I dropped out Evernote pretty quickly.

Zim - the fastest note-taking software on Linux

Zim is very simple software designed to make wiki pages, and it perfectly meets the requirements of a note-taking program.

It is native in Linux and probably it is the most popular note-taking software among Linux users. Windows and Mac versions are also available.

All the notes you create in Zim are saved as plain text and can be read by any text editor. This makes it very easy to read notes from any device as well as to share them. Synchronization can be made through any cloud service like Dropbox.

Screenshot of Zim, the fastest note-taking software on Linux
The interface of Zim on Linux

There are no many options in Zim and this is rather a plus of this program. You can do the basic font formatting, insert links, tables, images and attach files. Lists are available in the bullet, numbered and checkbox styles.

Taking notes in Zim is extremely fast process thanks to simple keyboard shortcuts. For example, you type a title and then press Ctrl+1 and the heading of level 1 is ready. You even do not need to highlight the text, it is enough if your cursor is somewhere in the title text.  The title of level 2, 3, 4, 5 is made by pressing Ctrl+respective number. If you type some code, highlight it and press Ctrl+T, and it will be formatted with a different font style.

You can also extend the functionality of Zim with a set of useful plugins. Spell Checker and Tray Icon are probably the ones you will activate first.

Zim has been my favorite note-taking program for several years, and I still think it is the best note-taking software on Linux to make many simple notes.

However, my notes became more complex recently. I  started to use many images, tables and very long codes in different programming languages. It became difficult for me to read and navigate through my notes in Zim and I started to look for something more sophisticated.

Cherrytree - the best note-taking software on Linux

Cherrytree is my current note-taking software. It is the most comprehensive note-taking software on Linux I have ever seen.

The amount of available features in this program exceeds far beyond my needs. But three of them make me love this program: 1) it is open-source and native in Linux; 2) it has code boxes with syntax highlights for almost all programming languages; 3) it is extremely efficient thanks to a powerful set of keyboard shortcuts.

Screenshot of Cherrytree, the best note-taking software on Linux
The interface of Cherrytree with code boxes

Cherrytree is also available for Windows. There is no native Mac client, but I have seen people running it on OS X with PlayOnMac.

Notes are stored in a single file (XML or SQLite) that can be password protected. Across devices synchronization can be easily made through Dropbox or any other cloud service.

The interface of the program is configured very conveniently by default. Most of the tools are already provided in a toolbar. If you want, you can change a lot of setting using preferences.  If it is not enough for you,  some extra configuration can be achieved by direct code editing in the config file (config.cfg). I will probably write a post describing how I configured my Cherrytree.

I particularly like the different color marks in the tree structure of notes on the left panel. It is very easy to structure and navigate the notes.

However, the killing feature of Cherrytree is its code boxes with syntax highlights. As you can see on the screenshot above, it is very easy to read bash and R code. Besides, using code boxes allows storing a very long code in only a few line box making it much faster to scroll through a note. If needed, the code box can be expanded with the shortcuts Ctrl+, and Ctrl+. or shrunk with Ctrl+Alt+, and Ctrl+Alt+. .

One more feature that I like in Cherrytree is its ability to make several automatic backup copies of the notes database. If you removed a note, you could restore it with no problem after some time from a backup.

If you have not tried Cherrytree yet, I highly recommend to give it a try. It truly can bring your note-taking experience to an entirely different level.

Other software worth trying

I decided to list some other software I tried. These programs did not fit my needs, but some of them may be perfect for you.

Simplenote

Simplenote is probably even simpler than Zim. It is available in all popular operation systems and has a nice web interface.

It is a suitable program if your notes contain only text because there is no way to use images, tables and code boxes.

Screenshot of Simplenote, a text-only note-taking programs
Simplenote - a text-only note-taking programs

Elephant

Elephant is an open-source cross-platform application written in java. The note taking process is little different from other software I mentioned in this post. You need to use some inline html code to make styling for your notes. I do not think it is the most efficient way to make notes, but Elephant can be very powerful if you know some html.

Screenshot of Elephant, an html-based note-taking program
Elephant - an html-based note-taking program

WizNote

WizNote is very feature rich and modern looking software. It has a set of comprehensive tools for text formatting and can handle images, tables, links and even code with syntax highlighting.

Unfortunately, my experience with this software was not very positive. On my Linux computer, WizNote was very slow and often unresponsive. After it crashed and failed to save my notes I uninstalled it.

WizNote is available for Windows, Linux, Mac, Android and iOS. Try it and maybe your experience will be more positive than mine.

Screenshot of WizNote, a note-taking program
WizNote - a promising note-taking program

Do you use any of the programs I mentioned or you prefer something else for your notes? Please, share your thoughts in the comments below.


Update

I have recently moved all my notes to Notion. I think it is the best all-in-one note taking app. Actually, it is more than just a note-taking app, as you can find out in my review of Notion.

Average Linux User
Average Linux User I am the founder of the Average Linux User project, which is a hobby I work on at night. During the day I am a scientist who uses computers to analyze genetic data.

Comments


Erebus

Have you tried Joplin? It's open source and cross-platform. I use it on Windows, Android and Linux, syncing through NextCloud, and it works flawlessly. https://joplinapp.org/


Mason Bee

Firefox notes is good. Just about all Linux distros come with Firefox and there is an android client as well. Simple nots, and still beta, but I have been using it for a couple of months now.


Learn how to write in Markdown with this Quick Reference.
Notify me of new comments on this post.
* E-mail is used to display Gravatar.