Nodum vs Obsidian Publish
An open-source Obsidian Publish alternative — publishing built into the vault
Nodum is a free, open-source alternative to Obsidian Publish. Publishing is part of the app rather than a separate paid service: any note gets a public share link, and any vault can be published as a browsable public site with working links between notes. Self-host it and there is no per-site fee at all.
What Obsidian Publish is
Obsidian Publish is a paid hosting add-on that turns selected notes from a vault into a public website on publish.obsidian.md or your own domain, billed per site per month. It is well made and genuinely low-effort — you pick notes, they appear online with the graph and backlinks intact.
Side by side
| Property | Obsidian Publish | Nodum |
|---|---|---|
| Licence | Proprietary, sold as a subscription add-on to Obsidian | MIT — the whole stack, frontend and backend |
| Hosting | Hosted by Obsidian; custom domains supported | Hosted at nodum.md, or self-hosted with one Docker Compose command |
| Your notes are | The published copy lives on Obsidian's servers | Plain markdown files, exported as a folder-true zip whenever you ask |
| Linking | Wikilinks and backlinks are preserved on the published site | [[wikilinks]], [[path/Note]], [[Note|alias]], ![[embeds]] — Obsidian syntax |
| Graph | Interactive graph on the published site | Global and local force-directed graph, GPU-rendered on WebGL2 |
| Pricing model | Per-site monthly subscription, billed separately from Sync | Free and open source; self-host at your own infrastructure cost |
| Platforms | Any browser, for readers | Any modern browser, desktop and mobile; installable as a PWA |
| Getting out | The source vault stays on your 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 Obsidian Publish does better
- A genuinely polished reading experience with themes, custom domains and a published graph.
- It is one toggle away from a vault you already keep — no server to run.
- Search, backlinks and the graph all work on the public site out of the box.
What Nodum does better
- Publishing is included, not a second subscription: every Nodum vault can become a public site at /s/your-slug.
- Individual notes get their own unlisted share link, revocable at any time.
- Published pages are server-rendered with real titles, descriptions and Open Graph cards, so they can be found and shared properly.
- Self-host it and publishing costs whatever your server costs and nothing more.
- The publishing code is MIT licensed, so what the reader sees is something you can change.
So — switch, or stay?
Switch to Nodum if…
- You are paying per site and publishing more than one vault.
- You want the published site on infrastructure you control.
- You want a share link for a single note without publishing a whole site.
Stay on Obsidian Publish if…
- You want custom themes and a custom domain with no server administration at all.
- Your notes live in Obsidian and you have no interest in moving the source of truth.
Obsidian Publish and Nodum: common questions
Is there a free alternative to Obsidian Publish?
Yes. Nodum includes publishing at no cost: any note can be given a public share link, and any vault can be published as a public site with links between notes intact. Because Nodum is MIT licensed you can also self-host it, in which case publishing costs only the server you run.
Can I publish only some notes rather than a whole vault?
Yes. Publishing in Nodum works at two levels: a per-note public link, which is unlisted and revocable, and a whole-vault public site at /s/your-slug. Use the per-note link when you want to share one page and nothing else.
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 Obsidian Publish 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 Obsidian Publish notes with you.
Import a zip, look at the graph, export it again. Nothing about it is one-way.
