Nodum vs SilverBullet
A SilverBullet alternative with a graph, collaboration and publishing
Nodum and SilverBullet are the two self-hosted, browser-based markdown knowledge bases. SilverBullet is deliberately minimal and scriptable — plain markdown on disk, extended with Lua. Nodum is heavier: a Postgres-backed multi-tenant server with a GPU knowledge graph, real-time collaboration, publishing, an MCP server and an AI assistant.
What SilverBullet is
SilverBullet is an MIT-licensed, self-hosted personal knowledge management system that runs in the browser over a folder of plain markdown files, extended through Lua scripting and a query language. It is lightweight, fast, and popular with people who want the smallest possible thing that works.
Side by side
| Property | SilverBullet | Nodum |
|---|---|---|
| Licence | MIT — genuinely open source | MIT — the whole stack, frontend and backend |
| Hosting | Self-hosted; a single small server process | Hosted at nodum.md, or self-hosted with one Docker Compose command |
| Your notes are | Plain markdown files on the server's disk | Plain markdown files, exported as a folder-true zip whenever you ask |
| Linking | [[wikilinks]] and page references | [[wikilinks]], [[path/Note]], [[Note|alias]], ![[embeds]] — Obsidian syntax |
| Graph | No force-directed graph view | 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 | Any browser, installable as a PWA | Any modern browser, desktop and mobile; installable as a PWA |
| Getting out | The files are already markdown on disk | 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 SilverBullet does better
- It is tiny. One process, a folder of files, and you are done — no Postgres, no Redis, no object store.
- Lua scripting and live queries let you build behaviour into pages.
- Files on disk means any other tool can read them at the same time.
- Genuinely offline-capable as a PWA.
What Nodum does better
- A GPU-rendered knowledge graph, global and local.
- Multi-tenant: real accounts, multiple vaults, and per-user isolation rather than one person's folder.
- Real-time collaborative editing with presence.
- Publishing a vault as a public site, and per-note share links.
- An MCP server with 36 tools, and an AI assistant on your own key.
- Full-text search with operators, version history, and a web clipper.
So — switch, or stay?
Switch to Nodum if…
- You want the graph, backlinks pane and unlinked mentions.
- More than one person needs an account.
- You want collaboration or publishing.
Stay on SilverBullet if…
- You want the smallest possible deployment.
- Files-on-disk that other tools can read simultaneously is the requirement.
- You script your notes in Lua.
SilverBullet and Nodum: common questions
What is the best self-hosted web-based note-taking app?
SilverBullet and Nodum are the two main browser-based, self-hosted markdown options. SilverBullet is the minimal one — a single process over a folder of files, extended with Lua. Nodum is the fuller one — accounts, vaults, a knowledge graph, collaboration, publishing, an MCP server — at the cost of running Postgres, Redis and object storage alongside it.
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 SilverBullet 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 SilverBullet notes with you.
Import a zip, look at the graph, export it again. Nothing about it is one-way.
