A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in either a single file (xml or sqlite) or multiple files and directories. Written by Giuseppe Penone (aka giuspen) and Evgenii Gurianov (aka txe). The user manual online html and downloadable ctb written by Ellie Borden (currently old and discontinued). The following languages are supported (If you want to help translating to your language write me): – Arabic (ar, Abdulrahman Karajeh, TO BE UPDATED) – Armenian (hy, Seda Stamboltsyan, up to date) – Bulgarian (bg, Iliya Nikolaev, up to date) – Chinese Simplified (zh_CN, Wang Yu, TO BE UPDATED) – Chinese Traditional (zh_TW, Emer Chen, up to date) – Croatian (hr, Filip Bakula, TO BE UPDATED) – Czech (cs, Pavel Fric, up to date) – Dutch (nl, up to date) – English (en, default) – French (fr, Francis Gernet, up to date) – Finnish (fi, Henri Kaustinen, TO BE UPDATED) – German (de, Matthias Hoffmann, up to date) – Greek (el, Asterios Siomos, TO BE UPDATED) – Hindi India (hi_IN, TO BE UPDATED) – Hungarian (hu, Stiener Norbert, up to date) – Italian (it, Vincenzo Reale, up to date) – Japanese (ja, Piyo, up to date) – Kazakh (kk_KZ, Viktor Polyanskiy, TO BE UPDATED) – Kazakh (kk_LA, Latin, Viktor Polyanskiy, TO BE UPDATED) – Korean (ko, Sean Lee, up to date) – Lithuanian (lt, up to date) – Persian (fa, Majid Abri, TO BE UPDATED) – Polish (pl, Mariusz Gasperaniec, up to date) – Portuguese (pt, Rui Santos, TO BE UPDATED) – Portuguese Brazil (pt_BR, Raysa Dutra, up to date) – Romanian (ro, Tudor Sprinceana, up to date) – Russian (ru, Viktor Polyanskiy, TO BE UPDATED) – Slovak (sk, Michal Fusatý, up to date) – Slovenian (sl, Erik Lovrič, up to date) – Spanish (es, up to date) – Swedish (sv, Åke Engelbrektson, up to date) – Turkish (tr, Ferhat Aydin, up to date) – Ukrainian (uk, Giuseppe Penone, up to date) |
features stable testing source bug tracker third party |
- rich text (foreground color, background color, bold, italic, underline, strikethrough, small, h1, h2, h3, h4, h5, h6, subscript, superscript, monospace)
- syntax highlighting supporting several programming languages
- images handling: insertion in the text, edit (resize/rotate), save as png file
- latex math equations rendering
- embedded files handling: insertion in the text, save to disk
- multi-level 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 plain text (optionally with syntax highlighting) into rich text, import/export as text file
- execution of the code for code nodes and codeboxes; the terminal and the command per syntax highlighting is configurable in the preferences dialog; an embedded terminal is available on linux and mac os
- alignment of text, images, tables and codeboxes (left/center/right/fill)
- hyperlinks associated to text and images (links to webpages, links to nodes/nodes + anchors, links to files, links to folders)
- spell check (using gspell)
- 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, h3, h4, h5, h6 and text sections between headers collapsible
- find a node, find in selected node, find in selected node and subnodes, find in all nodes
- replace in nodes names, replace in selected node, replace in selected node and subnodes, replace in all nodes
- iteration of the latest find, iteration of the latest replace, iteration of the latest applied text formatting
- import from html file, import from folder of html files
- import from plain text file, import from folder of plain text files
- import from basket, cherrytree, epim html, gnote, keepnote, keynote, knowit, mempad, notecase, rednotebook, tomboy, treepad lite, tuxcards, zim
- export to cherrytree file of a selection / node / node and subnodes / the whole tree
- password protection (using http://www.7-zip.org/) available only for storage as single file – NOTE: while a cherrytree password protected document is opened, an unprotected copy is extracted to a temporary folder of the filesystem; this copy is removed when you close cherrytree
- tree nodes drag and drop
- automatic link to web page if writing the URL
- automatic link to node if writing node name surrounded by [[node name]]
Download last stable version 1.2.0 (October 4th, 2024 – changelog) :
Source code (GPLv3+): cherrytree_1.2.0.tar.xz
with signature cherrytree_1.2.0.tar.xz.asc and key:
gpg --keyserver keyserver.ubuntu.com --recv-keys C7BF38CE0BD442C2369AA984049128A20CE0648D
gpg --verify PATH.tar.xz.asc
( NOTE: also available under github releases )
Ubuntu focal 20.04 LTS / jammy 22.04 LTS / noble 24.04 LTS / oracular 24.10
giuspen PPA:
sudo add-apt-repository ppa:giuspen/ppa
sudo apt update
sudo apt install cherrytree
https://launchpad.net/~giuspen/+archive/ubuntu/ppa/+packages
Debian 12 cherrytree_1.2.0-2~Debian12_amd64.deb
Debian 11 cherrytree_1.2.0-2~Debian11_amd64.deb
Fedora 41 cherrytree-1.2.0~Fedora41_amd64.rpm
Fedora 40 cherrytree-1.2.0~Fedora40_amd64.rpm
COPR repo from @bcotton https://copr.fedorainfracloud.org/coprs/bcotton/cherrytree/
AppImage CherryTree-1.2.0-x86_64.AppImage (all in one file, after downloading make it executable and then run it from a terminal or just double click)
Flatpak https://flathub.org/apps/details/net.giuspen.cherrytree
Snap https://snapcraft.io/cherrytree
Mac OS X Installer (by @dehesselle) https://gitlab.com/dehesselle/cherrytree_macos/-/releases
or Homebrew https://formulae.brew.sh/formula/cherrytree
or Mac Ports https://ports.macports.org/port/cherrytree
Microsoft windows installer: cherrytree_1.2.0.0_win64_setup.exe [variant without-latex; old pygtk2 cherrytree_0.39.4_setup.exe]
Microsoft windows portable archive: cherrytree_1.2.0.0_win64_portable.7z (look for mingw64/bin/cherrytree.exe; for portable config put config.cfg in portable folder root, beside license.txt) [variant without-latex; old pygtk2 cherrytree_0.39.4_win32_portable.7z]
sha256sum *
b9d9c9a0d7853e846657ceccdf74730f79190e19af296eeb955e5f4b54425ec2 cherrytree_1.2.0.tar.xz
429248401551e4c9013998545187483efab57f838d2659a70fdc0e832257a580 cherrytree_1.2.0.tar.xz.asc
4f2e476772e88692b0632fc6cb8873518d2e33ce4bc6923a7aa802d053a3b211 cherrytree_1.2.0.0_win64_setup.exe
250670fc5613004124990f281180b5fc042a38e49bf101474521c2a434af6162 cherrytree_1.2.0.0_win64_portable.7z
250670fc5613004124990f281180b5fc042a38e49bf101474521c2a434af6162 cherrytree_1.2.0.0_win64_portable.7z
efbbb1ef0271401774ac7c030d1a709cb86f87af6a516ed128dd5b8163749ce6 cherrytree_1.2.0.0_win64_portable_nolatex.7z
ad1ff83d0953e761404b71888e907f741ffda4be56bf7fe6e22c7bf5462046fb CherryTree-1.2.0-x86_64.AppImage
1f99fa3ccdb523c896c17e0cbdd428d63bc353c4815a21a2b90761282aab0b88 cherrytree_1.2.0-2~Debian12_amd64.deb
98c56690b6d933f12dd92cdd769324e2796e8b33770741329c8d98cd8401046f cherrytree_1.2.0-2~Debian11_amd64.deb
4b519caee0bac1013592aab75c46098f7083e188f1b76888dc81de2af9f0e841 cherrytree-1.2.0~Fedora41_amd64.rpm
3af9e889d4eeffdb5d0bf4bb1f7a5a69b1c27fb946c9144f0a5640e0c577b5d2 cherrytree-1.2.0~Fedora40_amd64.rpm
resides in applications–accessories–cherrytree
download testing version:
(v1.2.0 pre-release)
AppImage CherryTree-1.1.4+25-x86_64.AppImage (all in one file, after downloading make it executable and then run it from a terminal or just double click)
Microsoft windows portable archive: cherrytree_1.1.4.0+25_win64_portable.7z (look for mingw64/bin/cherrytree.exe; for portable config put config.cfg in portable folder root, beside license.txt)
the source code is version controlled with git and hosted by github.
you can get a clone of the cherrytree git repository issuing the command:
git clone https://github.com/giuspen/cherrytree.git
git submodule update --init
outstanding third party android project: SourCherry