CherryTree: A Powerful Notepad For Easy Note Taking

Organize Your Notes With CherryTree

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:

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

11 comments

  1. I recently did a fairly close comparison of Zim and CherryTree for notetaking. Zim uses wiki syntax for notes which is nice and supports templates. You can set up you own templates, but included a general note taking template and a journal template. Both applications run under Windows and Linux.

    Although Zim is a decent application, CherryNotes edged it out for me for a couple of reasons. Cherry stores its files in a SQLite database whereas Zim stores the notes in text in a folder structure. I liked the idea of the notes being encapsulated in one file versus many files. That seemed a little cleaner for me to keep it synchronized via dropbox. (The alternate valid argument could also be made that dropbox would only sync changed notes). The SQLite db also opened up some possibilities for me with publishing notes on my web site.

    I also liked that CherryNotes has three formats for its notes, RichText, Text, and Code with syntax highlighting. You could also change the look of the notes between dark and light backgrounds (that may also be possible with Zim using CSS templates, but I did not explore it.)

    I like the Zim’s feature of being able to link notes together easily. Cherry also supports that feature but only on Rich Text notes.

    • I have been on a mission to dump Evernote (and Wine) and just discovered and installed CherryTree a few days ago. So far I am delighted with the intuitive interface, the ease of attaching documents and links to pretty much anything I’d want to link to, and saving/synching with Dropbox to allow working on different terminals and platforms. I especially appreciate the New Instance command so that I can easily have different notebooks open simultaneously (work vs. personal, for instance).

      One advantage I see with Zim (which I’ve been a devoted user of for years) is that it is truly cross-platform; CherryTree doesn’t have a Mac version whereas Zim does. I use Windows 7 and 10 primarily, with Linux (openSUSE on a Dell desktop and Ubuntu as a chroot on an HP Chromebook) as my secondary platform and Mac OSX as my waning third platform. I prefer to use fully cross-platform software whenever possible and so far, CherryTree isn’t.

      That being said, I’m thinking that the lack of a Mac version of CherryTree is made up for by the SQL file structure you mentioned. Synching my Zim notebooks has been more difficult and inconvenient than synching CherryTree, due to the unusual behavior of Zim wiki notebooks (e.g. its default of creating a new notebook rather than opening the one I last worked on). In the past, that got me a bunch of overwritten and deleted pages, frowny face. I never used the templates feature so the wiki syntax was not as much of a plus for me.

      CherryTree’s export function is very flexible and allows a variety of export formats, including plain text, and the choice as to where to save the exported file or page. Since Zim pages are already saved as .txt files, it wins for future-proofiness, but Zim’s export function doesn’t allow me to choose where to save the file (those options are greyed out in my version, and I don’t know why), although it’s easy to move it from the Home directory later. I found CherryTree’s exporting to be more intuitive, and since I do a weekly backup of my notebook files, CherryTree wins on that point for its convenience. Sadly for Zim, CherryTree’s import function is similarly seamless and exceptionally powerful, allowing me to import my Zim pages into CherryTree with only a few clicks. I’ve already transferred years’ worth of Zim into CherryTree without any copy-pasta. Several other formats are supported by CherryTree’s import function, including many other applications I’ve tried (BasKet, Tomboy, etc.), so it’s easy to make the switch.

      You’ve already mentioned the facile customization of CherryTree’s appearance for rich text and code, a big plus if you don’t like defaults (and it’s not obvious how to change Zim’s default appearance, although it can be done if you can’t stand the lime green). One problem I’ve run into with CherryTree on Linux is that, while I can easily change the appearance of pages, fonts, sizes, colors, etc., those changes are not saved to the .ctb file on Dropbox. When I open the file again from Dropbox, the text changes are there but the preference changes are gone, leaving me with the small and kind of (I’m sorry) ugly white-on-blue text field with the super-annoying active line highlighting. However, I only observe this behavior in Ubuntu running as a chroot on my Chromebook; the preferences are saved with no problem in CherryTree running on Windows 10, so I figure the problem is with the chroot. Haven’t tried saving preferences on openSUSE yet so I can’t say if it’s a Linux problem in general.

      I haven’t tried using CherryTree’s code format, but I’m excited about the possibility of this multifunctional app replacing the three or four apps I currently use for journaling, coding, project planning, etc.

      I love Zim and have loved it for years, but I’m pretty sure CherryTree is going to be the next thing for me. Right now I’m still running them side-by-side because it’s hard to let Zim go.

  2. I was using Cherrytree to plan, plot and write a novel and just like that the whole content has disappeared! My computer had an automatic updated while I was away from my work and now I’ve restarted it and it’s all gone. Pleeeease somebody help I’m desperate.

    • Egads!

      Is the whole program or the file/data missing?

      That sounds really odd.

      Have you had any luck yet locating your file/backup? Did you have the auto backup feature enabled?

      What system/OS are you running? Please say Linux.

      I may be able to help in tiny way but you are likely going to need a linux expert for this …

      You will notice if you have not already in the Cherrytree “Import” menu the menu option to import a CherryTree file, which brings up an open file/search dialogue … If it were me, I would cautiously snoop around for the backup file with that feature …

      Do NOT delete anything and avoid restarting if possible …

      Above all, don’t take any more advice from me — devoted Linux noob, Windows/Mac refugee …

      Fraser (fellow writer)

    • Fraser makes a good point about the automatic save feature. You can find it under Edit > Preferences > Miscellaneous. I’ve clicked autosave, save on quit, AND create backup copy before saving, just in case.

      I know what it’s like to lose your work; I had the same experience you describe, in my case losing a complete outline and several scenes for a novella, back when I was using Zim for writing. I hope you were able to find an automatic backup somewhere on your hard drive.

  3. Thank you all so much for your replies – I did manage to get my work back by resetting my computer but to be honest, I have no idea what exactly happened and why. I’ve tried to backup my work from Cherrytree but being a total newby and not understanding much about technology, I have no idea how that works. Could someone explain that to me in technology for dummies language?

Comments are closed.

Sponsored Stories