A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single xml or sqlite file.

Written by Giuseppe Penone (aka giuspen).

A complete user manual is handled by Robert Boudreau:
online html / ctb to download

The following languages are supported:

  • Chinese Simplified (Channing Wong, up to date)
  • Czech (Pavel Fric, up to date)
  • Dutch (Patrick Vijgeboom, up to date)
  • English (default)
  • French (Benoît D’Angelo, up to date)
  • German (Frank Brungräber, up to date)
  • Italian (Giuseppe Penone, up to date)
  • Polish (Marcin Swierczynski, up to date)
  • Portuguese Brazil (Vinicius Schmidt, up to date)
  • Russian (Andriy Kovtun, up to date)
  • Spanish (Daniel MC, up to date)
  • Ukrainian (Andriy Kovtun, up to date)


features help
download download
dev. versions plugins







help features :

  • rich text (foreground color, background color, bold, italic, underline, strikethrough, small, h1, h2, h3, subscript, superscript, monospace)
  • syntax highlighting (only when the rich text is disabled in the current node)
  • images handling: insertion in the text, edit (resize/rotate), save as png file
  • lists handling (bulleted, numbered, to-do and switch between them, multiline with shift+enter)
  • simple tables handling (cells with plain text), cut/copy/paste row, import/export as csv file
  • codeboxes handling: boxes of automatically highlighted text into normal rich text
  • alignment of text, images, tables and codeboxes (left/center/right)
  • hyperlinks (links to webpages, links to nodes/nodes + anchors, links to files, links to folders)
  • spell check (using pygtkspellcheck and pyenchant)
  • intra application copy/paste: supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
  • cross application copy/paste (tested with libreoffice and gmail): supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
  • copying a list of files from the file manager and pasting in cherrytree will create a list of links to files, images are recognized and inserted in the text
  • print & save as pdf file of a selection / node / node and subnodes / the whole tree
  • export to html of a selection / node / node and subnodes / the whole tree
  • export to plain text of a selection / node / node and subnodes / the whole tree
  • toc generation for a node / node and subnodes / the whole tree, based on headers h1, h2 and h3
  • find a node, find in current node, find in all nodes
  • replace in node names, replace in current node, replace in all nodes
  • iteration of the latest find, iteration of the latest replace, iteration of the latest applied text formatting
  • import from plain text file, import from folder of plain text files
  • import from basket, cherrytree, gnote, keepnote, keynote, knowit, mempad, notecase, tomboy, treepad lite, tuxcards, zim
  • export to cherrytree file of a selection / node / node and subnodes / the whole tree
  • password protection (using
  • tree nodes drag and drop


  • assign custom icons to nodes/sub nodes and add option to sub-folder/notes (child) to take on parent icon
  • open several cherrytree files (notebooks) at the same time with tabs (all in the same window-single instance)
  • customize own keyboard shortcuts
  • cut copy and paste nodes
  • option to edit pictures with external editor
  • user defined text style (font, bold, color,…)
  • zoom in/out
  • option to set the max line length/max page width
  • spreadsheet node
  • opportunity for a node to have columns
  • allow drag n drop of images and files to cherrytree
  • add the word counter for a node/the whole tree
  • allow to open a formatting tag for future text
  • better table export to html (respect column width, text align, single line border)
  • let the user customize the toolbar
  • do not truncate codebox width in export to html
  • export to html: option to have different color background for the tree
  • export to html: option to have the nodes to collapse/expand
  • numbered lists: double space after one digit numbers to be aligned with 2 digits numbers
  • export node and subnodes as an only html structured document (initial menu  with hyperlinks to diferents subnodes)
  • option to make text double-spaced
  • save datetime creation and last datetime modification for every node. Also ability for search in nodes filtered by datetime creation/modification and view a list of nodes created/modificated in an interval
  • export a node with its subnodes to .odt
  • utility (dialog) where it’s possible to see all the tags (tree of the only tags) plus statistics about the tags
  • embed files same as images, open files with correct app at click
  • support relative links (relative to the cherrytree document)
  • in code nodes allow compile/execute/code completion
  • possibility to set up general custom colors of such node’s elements as h1, h2 and links
  • more options for the tables (automatic expand the table to the width of the screen)
  • sub item pressing the TAB key in bullet or numerical list
  • import from pdf
  • export to LaTeX
  • smart quotes
  • node property (written in database) to open a node expanded by default
  • utility to insert formulas (using LaTex that converts to png or something else))
  • option to have the font in nodes names decrease automatically proportionally to the node depth
  • selecting a set of text (e.g. space separated) and create a table with it or paste text into a table
  • customizable menus font size
  • add crop capability to image resize dialog
  • multiple selection of nodes for move and delete
  • opportunity to have multiple nodes point to the same data (many node-views pointing to the same node-data)
  • search/replace in selected node and subnodes
  • multiple backups
  • option to sort text rows by selection
  • numbered+checked list together
  • cherrytree for android
  • improve the numbers handling in nodes sorting
  • option to display hierarchy in node name header
  • in search in all nodes display hierarchy in all matches dialog, node name column
  • option to enable tooltips over nodes names in the tree
  • option to have 2 views of the same node content (maybe multiple codeboxes with a single content)
  • automatic link to node if writing node name (with no spaces and camelcase)
  • allow to select text and edit equivalent html in a dialog, then insert html from dialog to text
  • symlinks not selectable in file open dialog on windows os
  • proxy support (for copy/paste from web browser)
  • export to epub
  • option to use double click to visit links
  • ctrl+shift+v should disable automatic link recognition
  • strip leading and trailing empty spaces when applying a list type to selected text, option to ensure trailing char (e.g. “;”)
  • node type plain text
  • option to create codebox from text file and to write text file from codebox
  • option to skip codeboxes and tables when pasting when pasting from web page
  • option to replace codebox with inner text
  • option to show white spaces also for rich text nodes
  • option to call a script at autosave time
  • bug: replace text in node but not tables/codeboxes
  • option to recall latest find and replace patterns
  • export to markdown
  • option to insert tags also in text maybe with shortcuts
  • option for codeboxes to resize automatically to hide scrollbars
  • shortcut to enable/disable the spell check
  • in export to html make the tree of links in every page optional (replaced by link to index)
  • import from iPython notebook

downloaddownload last version (January 5th, 2014) :

tar.gz archive source code (GPLv3+): cherrytree-0.32.0.tar.xz
(depends: python2, python-gtk2, python-gtksourceview2, p7zip-full, python-enchant)
deb package debian/ubuntu package : cherrytree_0.32.0-1_all.deb
(Vincent Cheng’s PPA:
7z archive microsoft windows installer : cherrytree_0.32.0_setup.exe
7z archive microsoft windows portable archive : cherrytree_0.32.0_win32_portable.7z

downloaddownload old version :



gnome resides in applications–accessories–cherrytree

plugins development versions :

the source code is version controlled with mercurial and hosted by google code.
you can get a clone of the cherrytree mercurial repository issuing the command:

terminal hg clone hg_cherrytree
terminal cd hg_cherrytree
terminal ./cherrytree

that will create a folder named hg_cherrytree in the terminal working directory, enter into it and run cherrytree development version.

in order to update the local repository with the server repository updates you don’t need to “hg clone” all the time but simply run the following command from a terminal whose working directory is hg_cherrytree:

terminal hg pull -u