giuspen/cherrytree

C++giuspen.net/cherrytree/
WindowsLinux

alternative to Evernote

cherrytree

noteshierarchicalrich-textnotepadproductivitydesktop
Star Growth
Stars
3.9k
Forks
519
Weekly Growth
+7
Issues
973
1k2k3k
Jan 2023Mar 2024Jun 2025Sep 2026
README

CherryTree

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. The project home page is giuspen.net/cherrytree.

Written by Giuseppe Penone (aka giuspen) and Evgenii Gurianov (aka txe).

Cherrytree main window with text

Features

  • 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 https://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]]

Prebuilt binaries

Prebuilt binaries can be found on github.com/giuspen/cherrytree/releases and giuspen.net/cherrytree/#downl.

How to build from source code

To build from the source code, please read BUILDING.md.

Localization

The following languages are supported (if you want to help translate to your language, please write me):

– Arabic (ar, Abdulrahman Karajeh) – Armenian (hy, Seda Stamboltsyan) – Bulgarian (bg, Iliya Nikolaev) – Chinese Simplified (zh_CN, Wang Yu) – Chinese Traditional (zh_TW, Emer Chen) – Croatian (hr, Filip Bakula) – Czech (cs, Pavel Fric) – Dutch (nl) – English (en, default) – Finnish (fi) – French (fr, Francis Gernet) – German (de, Mr.Update) – Greek (el, Asterios Siomos) – Hindi India (hi_IN) – Hungarian (hu, Stiener Norbert) – Italian (it, Vincenzo Reale) – Japanese (ja, Piyo) – Kazakh (kk_KZ, Viktor Polyanskiy) – Kazakh (kk_LA, Latin, Viktor Polyanskiy) – Korean (ko, Sean Lee) – Lithuanian (lt) – Persian (fa, Majid Abri) – Polish (pl, Mariusz Gasperaniec) – Portuguese (pt, Rui Santos) – Portuguese Brazil (pt_BR, Raysa Dutra) – Romanian (ro, Tudor Sprinceana) – Russian (ru, Viktor Polyanskiy) – Slovak (sk, Michal Fusatý) – Slovenian (sl, Erik Lovrič) – Spanish (es, MP) – Swedish (sv, Åke Engelbrektson) – Turkish (tr, Ferhat Aydin) – Ukrainian (uk, Giuseppe Penone)

Programming with GTKmm3

https://docs.huihoo.com/gtkmm/programming-with-gtkmm-3/3.17.50/en/

Third party

Code Signing Policy

  • Free code signing for the Windows binaries provided by SignPath.io, certificate by SignPath Foundation
  • This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it
  • Approver: Giuseppe Penone
Related repositories
toeverything/AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

TypeScriptnpmappOthereditorcrdt
affine.pro
72.2k5.2k
TriliumNext/Trilium

Build your personal knowledge base with Trilium Notes

TypeScriptnpmappGNU Affero General Public License v3.0knowledge-graphnote-taking
triliumnotes.org
37.8k2.5k
denysdovhan/wtfjs

🤪 A list of funny and tricky JavaScript examples

JavaScriptnpmtutorialDo What The F*ck You Want To Public Licensejavascriptspecification
bit.ly/wtfjavascript
37.7k2.7k
xournalpp/xournalpp

Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

C++appGNU General Public License v2.0notetakingcrossplatform
xournalpp.github.io
15.3k1.1k
streetwriters/notesnook

A fully open source & end-to-end encrypted note taking alternative to Evernote.

TypeScriptnpmappGNU General Public License v3.0note-takingnotes-app
notesnook.com
14.5k998
trimstray/nginx-admins-handbook

How to improve NGINX performance, security, and other important things.

ShelltutorialMIT Licensenginxnginx-proxy
14.3k1.1k
seaswalker/spring-analysis

Spring源码阅读

JavaMaventutorialspringnotes
13.7k4.1k
flxzt/rnote

Sketch and take handwritten notes.

Rustcrates.ioappGNU General Public License v3.0gtkgtk4
rnote.flxzt.net
11.6k490
hackjutsu/Lepton

💻 Democratizing Snippet Management (macOS/Win/Linux)

JavaScriptnpmappMIT Licenseelectronredux
hackjutsu.com/Lepton
10.3k477
hackmdio/codimd

CodiMD - Realtime collaborative markdown notes on all platforms.

JavaScriptnpmappGNU Affero General Public License v3.0hackmdcollaboration
hackmd.io/c/codimd-documentation
10.1k1.1k
QianMo/Game-Programmer-Study-Notes

:anchor: 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.

tutorialgame-developmentnotes
10k1.8k
GcsSloop/AndroidNote

安卓学习笔记

JavaMaventutorialandroidgcssloop
gcssloop.com
9.3k2.1k