CherryTree#

CherryTree is a hierarchical note-taking application with rich text and code-block editing. Notes live in a single tree where every node carries either WYSIWYG text or a syntax-highlighted code block. The operator reaches for it when an engagement needs linked, searchable, hierarchical notes that travel as a single file, not when they need a code editor.

Format options matter for operator workflow. CherryTree stores in SQLite (.ctb / .ctx) or XML (.ctd / .ctz); the .ctx and .ctz variants are password-encrypted. The single-file model makes the case file portable across hosts and trivial to attach to a report.

Install#

$ sudo apt install cherrytree              # Debian / Ubuntu
$ sudo dnf install cherrytree              # Fedora
$ sudo pacman -S cherrytree                # Arch
$ flatpak install flathub net.giuspen.cherrytree

File Formats#

Extension

Backend

Encryption

Notes

.ctb

SQLite

none

Fast, recommended for large trees.

.ctx

SQLite

7z (AES-256)

Encrypted SQLite. Best for sensitive case files.

.ctd

XML

none

Human-diffable but slower on large trees.

.ctz

XML

7z (AES-256)

Encrypted XML.

The XML formats are diff-friendly and version well in git. The SQLite formats are faster on trees with thousands of nodes.

Use#

Launch and create a new file:

$ cherrytree                                       # GUI
$ cherrytree case-2026-03.ctx                      # open / create encrypted

Common operator workflows:

Task

How

Hierarchical case notes

Tree pane on the left; each engagement step a node.

Code or output capture

Insert Codebox (Ctrl+Alt+C) with syntax highlight.

Image / screenshot pasting

Paste from clipboard; CherryTree stores binary in-node.

Cross-node linking

Ctrl+L to link to another node by name.

Exporting a report

File → Export → PDF / HTML / Plain text.

Search across the tree

Ctrl+Shift+F for full-tree regex search.

Constraints#

  • Single-file lock. CherryTree opens one file at a time; running multiple instances against the same file risks corruption.

  • GTK-based; the Wayland experience is fine but historically cherrytree --display=:0 was needed on mixed sessions.

  • Password-encrypted files use 7z AES under the hood. Lose the password, lose the file. There is no recovery.

Files#

Configuration#

Path

Purpose

~/.config/cherrytree/config.cfg

User preferences, recent files, themes, custom toolbar.

~/.config/cherrytree/user-style.css

CSS overrides for the rich-text view.

References#