Nodum vs Trilium Notes
A Trilium Notes alternative with wikilinks and an Obsidian-compatible vault
Nodum is an alternative to Trilium Notes for self-hosters who want plain markdown. Both are open source and both are designed to run on your own server. Trilium is a hierarchical note tree with a powerful scripting API and its own storage format; Nodum stores Obsidian-compatible .md files and is built around wikilinks, backlinks and a knowledge graph.
What Trilium Notes is
Trilium Notes — continued by the community as TriliumNext — is an AGPL-3.0 self-hosted knowledge base built on a deep note hierarchy, with note cloning, attributes, relation maps and a genuinely powerful scripting API. It is a favourite among people who want to program their own note system.
Side by side
| Property | Trilium Notes | Nodum |
|---|---|---|
| Licence | AGPL-3.0 — genuinely open source | MIT — the whole stack, frontend and backend |
| Hosting | Self-hosted server plus desktop clients | Hosted at nodum.md, or self-hosted with one Docker Compose command |
| Your notes are | Its own database format; markdown and HTML export | Plain markdown files, exported as a folder-true zip whenever you ask |
| Linking | Internal links, note cloning, attributes and relation maps | [[wikilinks]], [[path/Note]], [[Note|alias]], ![[embeds]] — Obsidian syntax |
| Graph | Relation and link maps | Global and local force-directed graph, GPU-rendered on WebGL2 |
| Pricing model | Free; your own hosting cost | Free and open source; self-host at your own infrastructure cost |
| Platforms | Self-hosted web, plus desktop apps | Any modern browser, desktop and mobile; installable as a PWA |
| Getting out | Markdown or HTML archive | Vault zip of .md files, plus a REST API and an MCP server |
Where each one actually wins
The left-hand column is the honest part. If none of it applies to you, the switch is probably worth making; if several do, it probably is not.
What Trilium Notes does better
- The scripting API. Trilium lets you write real code against your notes; Nodum's plugin sandbox is deliberately narrower.
- Note cloning — one note living in several places in the tree — has no Nodum equivalent.
- Attributes and relation maps give it structured-data power Nodum does not match.
- A very deep hierarchy model for people who organise by tree.
What Nodum does better
- Notes are plain markdown files, so an Obsidian vault imports and exports cleanly both ways.
- MIT rather than AGPL, which matters if you intend to build on it commercially.
- A GPU-rendered force graph over the whole vault, not just relation maps.
- Real-time collaboration, publishing, and an MCP server.
- A modern editor with live preview, callouts, KaTeX and Mermaid.
So — switch, or stay?
Switch to Nodum if…
- You want Obsidian-compatible markdown rather than a bespoke store.
- You want the graph, backlinks and unlinked mentions.
- You want collaboration and publishing without extra parts.
Stay on Trilium Notes if…
- You script against your notes.
- Cloning and attributes are how your system works.
Trilium Notes and Nodum: common questions
What is a good self-hosted alternative to Trilium?
Nodum is a close fit: MIT licensed, self-hosted with one Docker Compose command that brings up the API, Postgres, Redis, MinIO and a Caddy edge with automatic TLS, and it stores plain markdown so an existing vault imports and exports cleanly. SilverBullet is the other option if you want a lighter, Lua-scriptable web PKM.
Before you move anything
Whatever you decide, run this once. It takes ten minutes and it is the difference between a migration and an incident.
- Export from Trilium Notes first, and keep that export somewhere safe.
- Import a copy into a throwaway Nodum vault, not your main one.
- Open the graph and look for ghost nodes — those are links that did not resolve.
- Export the Nodum vault and diff it against what you put in.
- Only then delete anything.
Other comparisons
Every comparison is on the alternatives index, and the glossary defines the vocabulary these pages use.
Bring your Trilium Notes notes with you.
Import a zip, look at the graph, export it again. Nothing about it is one-way.
