Convert Figma logo to code with AI

zadam logotrilium

Build your personal knowledge base with Trilium Notes

27,112
1,897
27,112
893

Top Related Projects

45,034

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

15,357

A personal knowledge management and sharing system for VSCode

32,499

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,241

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

6,315

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

45,034

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,357

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.

32,499

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,241

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,315

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

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.

Join the chat at https://gitter.im/trilium-notes/Lobby 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:

Trilium Screenshot

Ukraine is currently defending itself from Russian aggression, please consider donating to Ukrainian Army or humanitarian charities.

drawing Trilium Notes supports Ukraine!

🎁 Features

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

Open in Gitpod

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.