TiddlyWiki
A non-linear personal web notebook in a single file
TiddlyWiki is a unique open-source wiki that can run as a single self-contained HTML file. It is a non-linear notebook for capturing and organizing information, also runnable as a Node.js server.
Key features
- Runs as a single HTML file
- Non-linear note structure
- Highly customizable
- Optional Node.js server mode
Pros & cons
Strengths
- Extremely portable
- Works fully offline
Trade-offs
- Idiosyncratic concepts
- Multi-user needs the server mode
TiddlyWiki replaces
Last reviewed Aug 26, 2026 · 756 words
The single-file TiddlyWiki cannot save itself. A browser will open the 2 MB HTML file, let you edit everything inside it, and then has no way to write the result back to disk. Every new user hits this within 10 minutes, and how you solve it decides whether TiddlyWiki is a local notebook or a self-hosted service. Pick the answer before you write a single note, because moving between the two later is possible but tedious.
Three ways to save, ranked
For one machine, use TiddlyDesktop, the project's own Electron wrapper, or a browser extension such as Timimi that hands the save to a native helper. Both make the single file behave like a document: open, edit, save, done. This is the version that runs on 64 MB and works with no network at all, and it is what "extremely portable" means in practice; the file goes on a USB stick or into Syncthing and it still works.
For a service, run the Node.js server:
npm install -g tiddlywiki
tiddlywiki mynotes --init server
tiddlywiki mynotes --listen host=0.0.0.0 port=8080
In this mode each note (a "tiddler") is a small .tid text file under mynotes/tiddlers/, and saving is instant and automatic. The third option is a WebDAV-capable server: TiddlyWiki has a built-in saver that does an HTTP PUT, so a single file sitting on a Nextcloud share can save itself back through WebDAV. It works, but it is the most fragile of the three and I would not build on it.
Server mode is the self-hosted mode
The Node server is what belongs on your homelab. Authentication is basic auth passed on the command line (username=me password=...) or a credentials= CSV file for several accounts, with readers= and writers= controlling who can do what. Put it behind your reverse proxy with TLS; basic auth over plain HTTP on the internet is not acceptable. If you serve it under a subpath, add path-prefix=/notes or the assets break. There is no official Docker image; the npm package is the artifact and community images wrap it thinly.
Because each tiddler is a text file, the wiki directory is a natural Git repository. A nightly git commit gives you history per note for free, which is a better backup than any of the note apps in the notes category offer out of the box.
Tiddlers, tags and filters are the whole system
TiddlyWiki has been developed since 2004 and its ideas predate the current note-app generation. A tiddler is the unit; tags provide structure; transclusion embeds one tiddler inside another; and filters are a small query language that drives lists, tables of contents and dynamic views. "Non-linear" means no folder tree: a note can belong to five tags and appear in five generated lists without being copied.
The learning curve is real and this is the "idiosyncratic concepts" warning in the catalogue. The wikitext syntax is close to but not Markdown (a Markdown plugin exists), and the filter language rewards a weekend of reading. In exchange you get a notebook you can reshape completely, which is why 8,632 people have starred a project with no company behind it.
Multi-user is where it stops
The server has readers and writers but no per-tiddler permissions, no concurrent-edit handling beyond last-write-wins, and no comments or review. Two people editing the same note at the same time will lose work. For a household reference, fine; for a team wiki, use BookStack or DokuWiki and keep TiddlyWiki for personal thinking. It is also single-tenant: one server, one wiki, though you can run several on different ports.
Coming from Notion or OneNote
The honest mapping is that TiddlyWiki replaces the personal-notebook half of those tools, not the shared-workspace half. There is no importer that preserves Notion databases; you export to Markdown and paste. The Notion alternatives page covers the tools that do the team side better.
What I'd do
Node server on the homelab, behind Caddy with TLS, credentials= file with one account per person, tiddlers directory in a Git repository committed nightly. Keep the single-file build as a travel copy: tiddlywiki mynotes --build index produces one from the server directory whenever you want it. That gives you the portability the project is famous for and the autosave that makes it usable daily, for less memory than a browser tab.
Compare TiddlyWiki
14 head-to-head comparisons.
- TiddlyWiki vs Gollum
- TiddlyWiki vs Dendron
- TiddlyWiki vs MediaWiki
- TiddlyWiki vs Documize Community
- TiddlyWiki vs Zim
- TiddlyWiki vs Otter Wiki
- TiddlyWiki vs XWiki
- TiddlyWiki vs Feather Wiki
- TiddlyWiki vs Wikmd
- TiddlyWiki vs OutWiker
- TiddlyWiki vs Tiddloid
- TiddlyWiki vs WikidPad
- TiddlyWiki vs YesWiki
- TiddlyWiki vs WackoWiki
Similar wikis & documentation apps
Docusaurus
Wikis & DocumentationDocumentation website generator built with React
Replaces GitBook, Confluence
MkDocs
Wikis & DocumentationDocumentation site generator for technical teams
Replaces Confluence, GitBook
Gollum
Wikis & DocumentationA simple, Git-powered wiki with a sweet API
Replaces Confluence, Notion
Read the Docs
Wikis & DocumentationDocumentation hosting platform you can self-host
Replaces GitBook, Confluence
Dendron
Wikis & DocumentationHierarchical note-taking and personal knowledge wiki
Replaces Notion, Confluence
MediaWiki
Wikis & DocumentationThe wiki engine that powers Wikipedia
Replaces Confluence, Notion