Main features
- Note tree of any depth, with one note able to appear in several places
- Rich text editor with tables, images, math and Markdown autoformat
- Code notes with syntax highlighting
- Note version history
- Attributes for organizing and querying notes, plus scripting
- Password-protected notes encrypted with a key from your password
- Canvas (Excalidraw), mind maps, relation maps, note maps and geo maps
- Sync between desktop apps through your own server
- Publishing selected notes to the web
- Evernote and Markdown import, Markdown export
- Web clipper and REST API (ETAPI)
What Trilium does
Trilium Notes is built for people whose notes grow into a large personal knowledge base. Notes sit in a tree that can be as deep as you like, and a single note can be cloned into several branches of the tree at once, so it does not have to live in only one folder. The project says it handles knowledge bases of more than 100,000 notes.
Each note has a type. Besides rich text (with tables, images, math and Markdown-style autoformatting) there are code notes, Excalidraw canvases, mind maps, relation maps that show links between notes, and geo maps. Attributes let you classify and query notes, and a scripting layer lets advanced users automate the app or build small tools inside it. Every note keeps a version history.
Trilium was started by a single developer and later handed to the community project TriliumNext, which now maintains the main repository.
Privacy and encryption
Notes can be marked as protected. Protected notes are encrypted with a key derived from your password and are unloaded from memory after a period of inactivity, ten minutes by default. Metadata such as the note structure is not encrypted. Sync between your devices and your server is therefore not end-to-end encrypted by default. Server logins can use OpenID and TOTP two-factor codes.
Self-hosting Trilium
There are two parts. The desktop app for Windows, macOS and Linux works on its own. The server, for which the docs recommend Docker on AMD64 or ARM, adds a web interface, a touch-friendly mobile web view, public sharing of notes, and acts as the sync hub for desktop apps. All data lives in a single SQLite file, so backups are simple.
The server also exposes ETAPI, a REST API for external tools, and a metrics endpoint with a ready-made Grafana dashboard. A web clipper is available for saving pages from the browser.
Hosted version
There is no official hosted service and no paid tier. The docs list third-party providers that host Trilium servers.
Limitations
There are no official native mobile apps. On phones you use the mobile web interface of your server, or community apps listed in the README (TriliumDroid and Pocket Trilium for Android, Trinote for iOS). Notes are stored in SQLite rather than as Markdown files, so other editors cannot open them directly; Markdown import and export are available. Encryption is per note and opt-in. Trilium is single-user by design and is not a team wiki.
Who it suits
Trilium suits researchers, developers and heavy note-takers who want a deep hierarchy, many note types and scripting in one app, and who are comfortable running their own sync server. People who prefer plain Markdown files on disk should look at Logseq instead, and those who need a polished mobile app may prefer Joplin.
License details
AGPL-3.0. Maintained by the TriliumNext community, which took over the original zadam/trilium project. No paid edition.
Technical details
Self-hosting needs
- SQLite
Built with
- TypeScript
- Node.js
- Electron
GitHub topics
- electron
- electron-app
- knowledge-base
- knowledge-graph
- knowledge-management
- knowledge-management-graph
- local-first
- note-managment
- note-taker
- note-taking
- notebook
- notes
- notes-app
- personal-knowledge-base
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.