CherryTree is a free, open-source note-taking app with a tree-based node structure, rich text, syntax highlighting, and password protection.
CherryTree's core idea is the tree of nodes: every note is a node, and any node can have an unlimited number of child nodes, letting users build deeply nested hierarchies that mirror how a topic naturally breaks down into sub-topics. This is a meaningfully different model from flat note lists or tag-based systems, and it tends to appeal most to users documenting structured, hierarchical information such as a codebase, a server fleet, or a course syllabus.
Inside each node, CherryTree offers genuinely rich formatting: standard text styling, hyperlinks, bulleted and numbered lists, embedded images and tables, LaTeX for mathematical notation, and syntax-highlighted code boxes covering a long list of programming and markup languages. That code-highlighting support in particular has made CherryTree popular among developers and system administrators who want technical notes, snippets, and prose documentation living side by side in the same tool.
By default, CherryTree stores an entire notebook, no matter how large, as a single XML or SQLite file, with a multi-file directory option also available for users who prefer it. This single-file design makes backup and manual portability simple: copying, versioning, or carrying a notebook on removable media is as easy as handling one file. Users who want extra security can apply a password to a notebook, which encrypts the whole document rather than individual notes or branches.
CherryTree runs natively on Windows, macOS, and Linux with a consistent feature set across all three, and it can export notes to other formats when content needs to leave the app. What it does not include is a built-in cloud sync service or an official mobile app, so users wanting automatic cross-device access commonly store the CherryTree file inside a third-party sync folder such as Dropbox, Google Drive, or Nextcloud and let that service handle the syncing.
Yes, CherryTree is free and open source, released under the GPLv3 license.
CherryTree runs natively on Windows, macOS, and Linux.
Yes, CherryTree supports password protection, which encrypts the entire notebook document.
There is no built-in cloud sync; users typically place the CherryTree storage file inside a service like Dropbox or Nextcloud to sync it manually.
By default it saves a notebook as a single XML or SQLite file, with an optional multi-file, directory-based storage mode.
Yes, it includes dedicated code boxes with syntax highlighting for many programming languages.
No, there is no official mobile app; CherryTree is a desktop application.
CherryTree is primarily maintained by developer Giuseppe Penone (giuspen) along with community contributors on GitHub.