ScriptsApr 28, 2026·3 min read

TiddlyWiki — Self-Contained Personal Wiki in a Single HTML File

A unique non-linear personal notebook and wiki that runs entirely in a single HTML file, requiring no server and enabling offline-first knowledge management.

Introduction

TiddlyWiki is a non-linear personal notebook that stores everything in a single HTML file. It has been actively developed since 2004 and provides a unique approach to knowledge management: every piece of content is a "tiddler" (a small unit) that can be linked, tagged, filtered, and composed into dynamic views — all without requiring a server or database.

What TiddlyWiki Does

  • Stores an entire wiki in a single self-contained HTML file that runs in any browser
  • Organizes content as small reusable units called tiddlers, linked by titles and tags
  • Provides a powerful filter language for querying and composing tiddlers into dynamic lists
  • Supports offline-first usage — the file works without any internet connection
  • Extends through plugins, themes, and macros written in its own wikitext markup or JavaScript

Architecture Overview

TiddlyWiki is written entirely in JavaScript and runs client-side in the browser. The single HTML file contains the wiki engine, all content, and the UI framework. In Node.js server mode, each tiddler is stored as an individual .tid file on disk, enabling Git-based version control. The microkernel architecture loads functionality through a module system, making every feature — from the editor to the sidebar — a replaceable plugin.

Self-Hosting & Configuration

  • Simplest mode: download the HTML file, open it in a browser, and save changes locally
  • Node.js mode: npx tiddlywiki --init server creates a wiki with file-per-tiddler storage
  • Host behind Nginx or Caddy for multi-user access with basic auth
  • Sync across devices via Dropbox, Syncthing, or Git
  • Customize with community plugins for task management, calendars, Kanban boards, and more

Key Features

  • Zero-dependency: a single HTML file contains the entire application and data
  • Non-linear organization: tiddlers can be tagged, linked, transcluded, and filtered freely
  • Powerful filter syntax for dynamic views (e.g., show all tiddlers tagged "project" modified this week)
  • Macro and widget system for creating reusable templates and interactive elements
  • Extensive plugin ecosystem covering encryption, LaTeX, code highlighting, and data visualization

Comparison with Similar Tools

  • Obsidian — Markdown vault with graph view; TiddlyWiki is a single HTML file with richer transclusion
  • Notion — cloud-hosted workspace; TiddlyWiki is offline-first with no account required
  • Logseq — outliner with block references; TiddlyWiki uses tiddler-level granularity and a filter language
  • Wiki.js — server-based wiki for teams; TiddlyWiki targets personal knowledge in a single file

FAQ

Q: How do I save changes when using the single-file version? A: Use browser-specific savers (TiddlyFox for Firefox, or the download-based saver in Chrome) or the Node.js server mode for automatic saving.

Q: Can multiple people edit a TiddlyWiki simultaneously? A: The single-file version is designed for single-user use. For collaboration, use Node.js mode behind a web server or a hosted service like TiddlyHost.

Q: Is TiddlyWiki suitable for large knowledge bases? A: Yes. TiddlyWikis with tens of thousands of tiddlers work well. Performance depends on browser memory, and lazy loading plugins can help with very large wikis.

Q: Can I export my data? A: Yes. Export to static HTML, JSON, CSV, or individual tiddler files. The open format ensures no vendor lock-in.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets