Top Related Projects
Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
A personal knowledge management and sharing system for VSCode
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.
Athens is no longer maintainted. Athens was an open-source, collaborative knowledge graph, backed by YC W21
Quick Overview
Trilium Notes is a hierarchical note-taking application with a focus on building large personal knowledge bases. It offers a rich text editor, advanced note linking capabilities, and supports various note types including images, files, and code snippets. Trilium is available as both a web application and a desktop app.
Pros
- Powerful note organization with hierarchical structure and attributes
- Robust search functionality and advanced querying options
- Supports encryption for sensitive notes and synchronization between devices
- Highly customizable with scripting support and custom CSS
Cons
- Steeper learning curve compared to simpler note-taking apps
- Desktop app can be resource-intensive on older hardware
- Limited mobile support (no native mobile apps)
- Sync process can be complex for non-technical users
Getting Started
- Download the latest release from the GitHub releases page.
- Extract the downloaded archive and run the executable file.
- Open your web browser and navigate to
http://localhost:8080
. - Create a new account and start taking notes!
For the web version:
- Visit https://trilium.cc/
- Click on "Create new demo" to try out Trilium without installation.
For advanced users who want to run Trilium as a server:
git clone https://github.com/zadam/trilium.git
cd trilium
npm install
npm run start
Then access Trilium at http://localhost:8080
.
Competitor Comparisons
Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
Pros of Joplin
- Cross-platform support (desktop, mobile, and web)
- End-to-end encryption for secure note-taking
- Extensive plugin ecosystem for customization
Cons of Joplin
- Less flexible note organization compared to Trilium's hierarchical structure
- Limited built-in drawing and diagramming capabilities
- Slower performance with large databases
Code Comparison
Joplin (JavaScript):
const Note = require('lib/models/Note');
const newNote = await Note.save({
title: 'My Note',
body: 'Note content',
parent_id: someNotebookId
});
Trilium (JavaScript):
const noteService = require('./services/notes');
const newNote = await noteService.createNewNote({
parentNoteId: someParentNoteId,
title: 'My Note',
content: 'Note content'
});
Both projects use JavaScript for their core functionality. Joplin's API focuses on a more straightforward note creation process, while Trilium's approach involves a dedicated note service, potentially offering more flexibility in note management.
A personal knowledge management and sharing system for VSCode
Pros of Foam
- Lightweight and flexible, integrating seamlessly with Visual Studio Code
- Supports Markdown files, making it easy to version control and share notes
- Offers a graph visualization feature for connecting ideas
Cons of Foam
- Less feature-rich compared to Trilium's extensive note-taking capabilities
- Requires more manual setup and configuration
- Lacks built-in encryption and synchronization features
Code Comparison
Foam (JavaScript):
export async function createNoteFromTemplate(
templatePath: string,
notePath: string,
replacements: { [key: string]: string } = {}
) {
const templateContent = await fs.readFile(templatePath, 'utf8');
const noteContent = replaceTemplateVariables(templateContent, replacements);
await fs.writeFile(notePath, noteContent);
}
Trilium (JavaScript):
async function createNote(parentNoteId, title, content, extraOptions = {}) {
const note = await becca.createNewNote({
parentNoteId: parentNoteId,
title: title,
content: content,
type: 'text',
mime: 'text/html',
...extraOptions
});
return note;
}
Both projects use JavaScript, but Foam focuses on file-based operations, while Trilium uses a more structured approach with a dedicated note creation function.
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
Pros of Logseq
- Open-source and privacy-focused, with local-first data storage
- Supports bidirectional linking and graph visualization
- Extensible with plugins and themes
Cons of Logseq
- Less feature-rich for complex note organization compared to Trilium
- Limited offline functionality on mobile devices
- Steeper learning curve for users new to outliner-based note-taking
Code Comparison
Logseq (ClojureScript):
(defn get-block-by-id [id]
(when-let [block (db/entity [:block/uid id])]
(db/pull (:db/id block))))
Trilium (JavaScript):
async function getNote(noteId) {
return await sql.getRow("SELECT * FROM notes WHERE noteId = ?", [noteId]);
}
Both projects use different programming languages and approaches, but they share similar functionality for retrieving notes or blocks. Logseq uses a more functional style with ClojureScript, while Trilium employs JavaScript with async/await for database operations.
Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.
Pros of Standard Notes
- Cross-platform support with native apps for mobile and desktop
- Strong focus on end-to-end encryption and privacy
- Extensible architecture with plugins and themes
Cons of Standard Notes
- Less feature-rich out-of-the-box compared to Trilium
- Limited hierarchical organization options
- Steeper learning curve for advanced features
Code Comparison
Standard Notes (JavaScript):
class Note extends Item {
constructor(json_data) {
super(json_data);
this.title = null;
this.text = null;
if (this.content.title) {
this.title = this.content.title;
}
if (this.content.text) {
this.text = this.content.text;
}
}
}
Trilium (JavaScript):
class Note extends AbstractEntity {
static get entityName() { return "notes"; }
static get primaryKeyName() { return "noteId"; }
static get hashedProperties() { return ["title", "content", "dateCreated", "dateModified", "utcDateCreated"]; }
}
Both projects use JavaScript and follow object-oriented principles. Standard Notes focuses on content and title properties, while Trilium includes more metadata and uses static getters for entity information.
Athens is no longer maintainted. Athens was an open-source, collaborative knowledge graph, backed by YC W21
Pros of Athens
- Built with Clojure and ClojureScript, offering a functional programming approach
- Designed for networked thought and collaborative knowledge management
- Implements a graph-based data structure for flexible note connections
Cons of Athens
- Less mature project with fewer features compared to Trilium
- Smaller community and ecosystem around the project
- Limited offline capabilities and local-first approach
Code Comparison
Athens (ClojureScript):
(defn create-page [title]
(let [page-id (gen-uuid)]
(d/transact! conn [{:page/title title
:block/uid page-id}])))
Trilium (JavaScript):
function createNote(parentNoteId, title, content) {
return api.createNote(parentNoteId, title, content);
}
Both projects aim to provide note-taking and knowledge management solutions, but they differ in their approach and implementation. Athens focuses on networked thought and collaboration, while Trilium offers a more traditional hierarchical structure with extensive features for personal knowledge management. Athens uses a modern tech stack with Clojure, while Trilium is built with Electron and JavaScript, providing a more familiar environment for web developers. Trilium has a larger user base and more mature feature set, including advanced scripting capabilities, while Athens is still in earlier stages of development but shows promise in its graph-based approach to knowledge organization.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Trilium Notes
English | Chinese | Russian | Japanese | Italian | Spanish
Trilium Notes is a free and open-source, cross-platform hierarchical note taking application with focus on building large personal knowledge bases.
See screenshots for quick overview:
ð Features
- Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see cloning)
- Rich WYSIWYG note editor including e.g. tables, images and math with markdown autoformat
- Support for editing notes with source code, including syntax highlighting
- Fast and easy navigation between notes, full text search and note hoisting
- Seamless note versioning
- Note attributes can be used for note organization, querying and advanced scripting
- UI available in English, German, Spanish, French, Romanian, and Chinese (simplified and traditional)
- Direct OpenID and TOTP integration for more secure login
- Synchronization with self-hosted sync server
- Sharing (publishing) notes to public internet
- Strong note encryption with per-note granularity
- Sketching diagrams, based on Excalidraw (note type "canvas")
- Relation maps and link maps for visualizing notes and their relations
- Mind maps, based on Mind Elixir
- Geo maps with location pins and GPX tracks
- Scripting - see Advanced showcases
- REST API for automation
- Scales well in both usability and performance upwards of 100 000 notes
- Touch optimized mobile frontend for smartphones and tablets
- Built-in dark theme, support for user themes
- Evernote and Markdown import & export
- Web Clipper for easy saving of web content
- Customizable UI (sidebar buttons, user-defined widgets, ...)
- Metrics, along with a Grafana Dashboard
⨠Check out the following third-party resources/communities for more TriliumNext related goodies:
- awesome-trilium for 3rd party themes, scripts, plugins and more.
- TriliumRocks! for tutorials, guides, and much more.
â ï¸ Why TriliumNext?
The original Trilium project is in maintenance mode.
Migrating from Trilium?
There are no special migration steps to migrate from a zadam/Trilium instance to a TriliumNext/Notes instance. Simply install TriliumNext/Notes as usual and it will use your existing database.
Versions up to and including v0.90.4 are compatible with the latest zadam/trilium version of v0.63.7. Any later versions of TriliumNext have their sync versions incremented.
ð Documentation
We're currently in the progress of moving the documentation to in-app (hit the F1
key within Trilium). As a result, there may be some missing parts until we've completed the migration. If you'd prefer to navigate through the documentation within GitHub, you can navigate the User Guide documentation.
Below are some quick links for your convenience to navigate the documentation:
- Server installation
- Upgrading TriliumNext
- Concepts and Features - Note
- Patterns of personal knowledge base
Until we finish reorganizing the documentation, you may also want to browse the old documentation.
ð¬ Discuss with us
Feel free to join our official conversations. We would love to hear what features, suggestions, or issues you may have!
- Matrix (For synchronous discussions.)
- The
General
Matrix room is also bridged to XMPP
- The
- Github Discussions (For asynchronous discussions.)
- Github Issues (For bug reports and feature requests.)
ð Installation
Windows / MacOS
Download the binary release for your platform from the latest release page, unzip the package and run the trilium
executable.
Linux
If your distribution is listed in the table below, use your distribution's package.
You may also download the binary release for your platform from the latest release page, unzip the package and run the trilium
executable.
TriliumNext is also provided as a Flatpak, but not yet published on FlatHub.
Browser (any OS)
If you use a server installation (see below), you can directly access the web interface (which is almost identical to the desktop app).
Currently only the latest versions of Chrome & Firefox are supported (and tested).
Mobile
To use TriliumNext on a mobile device, you can use a mobile web browser to access the mobile interface of a server installation (see below).
If you prefer a native Android app, you can use TriliumDroid. Report bugs and missing features at their repository.
See issue https://github.com/TriliumNext/Notes/issues/72 for more information on mobile app support.
Server
To install TriliumNext on your own server (including via Docker from Dockerhub) follow the server installation docs.
ð» Contribute
Code
Download the repository, install dependencies using pnpm
and then run the server (available at http://localhost:8080):
git clone https://github.com/TriliumNext/Notes.git
cd Notes
pnpm install
pnpm run server:start
Documentation
Download the repository, install dependencies using pnpm
and then run the environment required to edit the documentation:
git clone https://github.com/TriliumNext/Notes.git
cd Notes
pnpm install
pnpm nx run edit-docs:edit-docs
Building the Executable
Download the repository, install dependencies using pnpm
and then build the desktop app for Windows:
git clone https://github.com/TriliumNext/Notes.git
cd Notes
pnpm install
pnpm nx --project=desktop electron-forge:make -- --arch=x64 --platform=win32
For more details, see the development docs.
Developer Documentation
Please view the documentation guide for details. If you have more questions, feel free to reach out via the links described in the "Discuss with us" section above.
ð Shoutouts
- CKEditor 5 - best WYSIWYG editor on the market, very interactive and listening team
- FancyTree - very feature rich tree library without real competition. Trilium Notes would not be the same without it.
- CodeMirror - code editor with support for huge amount of languages
- jsPlumb - visual connectivity library without competition. Used in relation maps and link maps
ð¤ Support
Support for the TriliumNext organization will be possible in the near future. For now, you can:
- Support continued development on TriliumNext by supporting our developers: eliandoran (See the repository insights for a full list)
- Show a token of gratitude to the original Trilium developer (zadam) via PayPal or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
ð License
Copyright 2017-2025 zadam, Elian Doran, and other contributors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Top Related Projects
Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
A personal knowledge management and sharing system for VSCode
A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.
Athens is no longer maintainted. Athens was an open-source, collaborative knowledge graph, backed by YC W21
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot