CherryTree: A Powerful Notepad For Easy Note Taking

Since there is still no official version for Linux, many apps are trying to be Evernote alternatives, more or less successfully. Although it’s possible to run Evernote in Wine, it’s a good idea to find a native note-taking app for Linux that suits your needs.

CherryTree is an option you should seriously consider because it lets you organize notes in a smart and logical way. Don’t get deceived by its seemingly simple interface – CherryTree has so many features that I could write a book about it.

CherryTree is written in Python and works both on Linux and Windows. Since I am a Linux user, I will be covering the Linux version in this article. The official website offers download packages for Debian and Ubuntu, as well as installers and a portable version for Windows. Many other distributions offer CherryTree in their repositories, but they might not have the latest release. Users of Ubuntu and its derivatives can add this repository to keep up with updates:

sudo add-apt-repository ppa:vincent-c/cherrytree
sudo apt-get update
sudo apt-get install cherrytree

It’s also possible to run CherryTree as a portable app on Linux – just unpack the source tarball and run


in the uncompressed folder in Terminal.

In CherryTree, your notes are organized hierarchically, which is great for complex projects and study guides because it helps you arrange information in a meaningful way. All items in CherryTree – folders, subfolders and notes – are called “Nodes”, and they can be one of three types: Rich Text, Plain Text or Automatic Syntax Highlighting. Choose the latter for notes that contain code.

When creating a “Node”, you can assign tags to it for easier searching. Your notes can be password-protected, and they are all stored in a single file – you can pick the format (XML or SQLite).

Creating a new node.

“Nodes” can contain “Sub-nodes”, which then makes them the equivalent of “Notebooks” in Evernote or MyNotex. You can set “Nodes” as read-only, sort, move, expand and collapse them, and bookmark them for quick navigation.

One of the most useful features is linking “Nodes” to each other. Any selected text can be turned into a link with the “Insert Anchor” option, allowing you to create a repository of information, like your personal Wikipedia.

You’ll be working with notes in the main CherryTree window, which consists of menus, a toolbar, tree view of all “Nodes” in the current file, and the editing area. You can hide all elements except menus and the editing area, and the tree view can be moved to the right side in the “Preferences” dialog.

CherryTree main window.

The toolbar has buttons for formatting functions. Use them to change the text color, make it bold, italic or superscript, turn text into lists (including to-do lists with checkboxes), align text and create subheadings. The “Preferences” dialog lets you select which buttons will be visible in the toolbar.

Insert a table in CherryTree.

CherryTree allows you to insert different kinds of content into your notes. You can insert entire files, paste items from clipboard, insert, resize and rotate images (PNG, JPG, TIFF…), add current date and time, generate a table of contents, and insert regular text tables, which can also be imported from CSV files. If you want to add pieces of code to your notes, insert a

If you want to add pieces of code to your notes, insert a codebox – it supports syntax highlighting for more than 70 programming and scripting languages. Items can be inserted from the right-click menu in the editing area and tree view, or from the “Edit” menu.

Apart from the features I already mentioned, the “Preferences” dialog lets you change fonts and background colors of the main CherryTree window. You can also turn on line-wrapping, indentation, line numbers, autosave and session restore functions, as well as automatic backups.

The Preferences dialog lets you change fonts and background colors.

CherryTree has so much more up its sleeve. There are handy keyboard shortcuts for users who prefer a mouseless workflow. It offers a powerful “Find & Replace” function that can search the contents of all notes, or a selected folder (“Node”) and its subfolders (“Sub-nodes”), with support for regular expressions and partial matching.

Search the contents of all notes.

You can export selected text, single, multiple and all notes to PDF, HTML, and plain text. If you’ve previously used another note-taking software, CherryTree can import notes from text and HTML files, as well as from a long list of apps (Basket, Gnote, Keepnote, Keynote, Tomboy, Zim…).

It’s a truly amazing app because it can do so much while being light on system resources. I can imagine it being equally useful for organizing recipes, collecting writing ideas, developing business plans or sorting notes for school.

The list of planned features is exciting: CherryTree might soon get support for tabs, a word counter for one or all notes, import from PDF and export to LaTeX and Markdown, and an Android version. It could easily replace Evernote even for Windows users; the only thing that’s missing is online syncing, but you can always set that up with Dropbox or another online storage service.

Have you tried CherryTree? Which apps do you use to organize notes? Let’s discuss it in the comments.

Image Credit: stevepb