Skip to main content
Taking notes on a computer instead of paper

The best note-taking software on Linux

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone

In my first blog post, I would like to share my thoughts about one of the most necessary software for a researcher, 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 (May 5, 2017): I have recently started a YouTube channel dedicated to Linux. I have covered the topic of the best note-taking software on Linux in one of my videos. Watch it below!

I also highly recommend to read the comments under the video on the YouTube channel where people share their experience of note-taking on Linux. Emacs org-mode seems to be one of the most popular options I have not covered.

And of course, subscribe for new Linux video!

Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInEmail this to someone

9 comments on “The best note-taking software on Linux

  1. Pingback: Leituras 27Agosto2017 – daily digest news
  2. Hi, I too liked CherryTree the best but recently something went wrong with the configuration of python on my linux system, most programs were fine but cherrytree would not start, neither would other note taking programs that use python like Zim.
    In the end I installed basket notes as it doesn’t seem to use python and seems really good.

    1. Hi delwoode,
      Thank you for your comment. I am sorry to hear that you have troubles using CherryTree. From your description, I assume that you have some problems with Python 2.7.x, which is required for both CherryTree and Zim. Try to check if you have Python 2.7.x installed. Most likely your Linux distro has upgraded to Python 3 and there is some conflict between Python 2 and 3. What Linux distro do you use? May be I can help you to fix the issue.
      Basket notes is a good program but if I remember correctly it is very obsolete and not developed any more. It uses KDE4, while current KDE is version 5. So, keep in mind that you might need to upgrade in the future and moving your notes to another program might be not easy.

  3. Hi,

    Nice list.

    When you mentioned simplenote I expected a reference to Tomboy Notes that is actually installed by default in several Linux distributions.

    And what about org-mode.org and flat files wikis (www.dokuwiki.org) and static site generators (www.mkdocs.org).

    CAGS

    1. Hi Carlos,
      You are right, I forgot Tomboy Notes. It is probably because my perception of Tomboy Notes was that it is a program for very short notes, like those sticky paper notes. While I was looking for comprehensive note-taking program to log all my work. Besides, Tomboy Notes are Gnome specific while I am a KDE user 🙂 . Thank you a lot for mentioning dokuwiki.org and mkdocs.org. These are good alternatives I didn’t know about. I also started to find myself making a lot of Markdown notes on github.com/evodify, which is another alternative.

    1. Hi Willian, Wow! Your program is cool! Command-line note-taking can be very fast and efficient, though it is not for everyone.

leave a comment

Your email address will not be published. Required fields are marked *