Convert Figma logo to code with AI

zadam logotrilium

Build your personal knowledge base with Trilium Notes

28,545
1,930
28,545
909

Top Related Projects

49,973

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

15,915

A personal knowledge management and sharing system for VSCode

36,207

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

5,807

Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

6,311

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

  1. Download the latest release from the GitHub releases page.
  2. Extract the downloaded archive and run the executable file.
  3. Open your web browser and navigate to http://localhost:8080.
  4. Create a new account and start taking notes!

For the web version:

  1. Visit https://trilium.cc/
  2. 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

49,973

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.

15,915

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.

36,207

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.

5,807

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.

6,311

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Trilium Notes

GitHub Sponsors Docker Pulls GitHub Downloads (all assets, all releases) RelativeCI

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:

Trilium Screenshot

🎁 Features

✨ Check out the following third-party resources/communities for more TriliumNext related goodies:

⚠️ 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:

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!

🏗 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.

Packaging status

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.