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
Trilium is in maintenance mode - see details in https://github.com/zadam/trilium/issues/4620
Preliminary disccusions on the successor organization are taking place in Trilium Next discussions.
English | Chinese | Russian | Japanese | Italian
Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
See screenshots for quick overview:
Ukraine is currently defending itself from Russian aggression, please consider donating to Ukrainian Army or humanitarian charities.
ð 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 editing 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
- Synchronization with self-hosted sync server
- Sharing (publishing) notes to public internet
- Strong note encryption with per-note granularity
- Sketching diagrams with built-in Excalidraw (note type "canvas")
- Relation maps and link maps for visualizing notes and their relations
- 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
- Night theme
- Evernote and Markdown import & export
- Web Clipper for easy saving of web content
Check out awesome-trilium for 3rd party themes, scripts, plugins and more.
ð Builds
Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is unsupported.
- If you want to use Trilium on the desktop, download binary release for your platform from latest release, unzip the package and run
trilium
executable. - If you want to install Trilium on server, follow this page.
- Currently only recent Chrome and Firefox are supported (tested) browsers.
Trilium is also provided as a Flatpak:
ð Documentation
See wiki for complete list of documentation pages.
You can also read Patterns of personal knowledge base to get some inspiration on how you might use Trilium.
ð» Contribute
Use a browser based dev environment
Or clone locally and run
npm install
npm run start-server
ð¢ 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
You can support Trilium using GitHub Sponsors, PayPal or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
ð License
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