Open-source project
mak-kirkland/chronicler avatar
mak-kirkland/chronicler

Chronicler, an offline worldbuilding wiki that stores plain Markdown files

Chronicler is a free, offline worldbuilding tool and local wiki for writers, game masters, and tabletop RPG creators. It saves your notes as plain Markdown files on your computer. No sign-up, no subscription, no cloud. Your world stays on your device.

735 stars28 forksSvelteNOASSERTION

At a glance

What is it?
mak-kirkland/chronicler is a desktop application for tabletop RPG campaign notes that saves everything as plain Markdown on your own machine, with wikilinks, backlinks, templates, infoboxes, spoiler syntax and imports from Word, Google Docs and Fandom wikis. It is built with Svelte and Tauri, and the licence is source-available rather than open source.
Who is it for?
Adopt Chronicler if you run tabletop campaigns or write fiction and want a local wiki whose files stay in plain Markdown on your disk, with no account and no subscription. Skip it if you need to modify the application itself, because the PolyForm Shield licence lets you view and audit the code but not modify or redistribute it.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly Svelte, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the application is and the licence detail to read first

Chronicler is described as a free, offline worldbuilding tool and local wiki for writers, game masters and tabletop RPG creators, and the key property is that it saves your notes as plain Markdown files on your computer. There is no sign-up, no subscription and no cloud.

The README is direct about the difference from the alternatives it names. Unlike cloud-based tools such as World Anvil, Notion or Campfire, Chronicler runs entirely offline and stores everything locally, so you own your files, no internet is required and there is no vendor lock-in or monthly fee.

But the licensing note is the most important line in the document, and it deserves to be read before anything else. Chronicler is source-available, not open source. You can view and audit the code, but you cannot modify, redistribute or reuse it, and the licence is PolyForm Shield 1.0.0 rather than an OSI-approved one. For a tool you install and use for your own notes, that is a workable arrangement, and it is consistent with a project funded by donations for a single creator. For anyone who wants to contribute a patch, fork it, or ship it inside something else, it is a hard stop, and the README says so explicitly rather than leaving it to be discovered.

The funding model is stated just as plainly. The project is developed by a single independent creator working on it full time, the creator says donations are the only source of income, and there are Patreon and Buy Me a Coffee links alongside a Discord community. The commercial plan is Chronicler Pro, a one-time payment with no subscription, and the core application is free forever.

The community figures the README gives are 7330 or more unique installations across Windows, macOS and Linux, 1460 or more Discord members, and a Reddit post on the worldbuilding subreddit with more than 32000 views, 303 upvotes at a stated 98.7 percent ratio and 298 shares. Those are the project's own numbers, and they are the kind of thing a reader should treat as claims from the author rather than independent measurements.

The releases are all alpha, v0.61.1-alpha, v0.62.0-alpha and v0.62.1-alpha in October 2026, with the last push on 2026-10-11, and the site is at chronicler.pro.

The feature set, from the Markdown editor to spoilers

The features are organised into groups, and the writing group comes first.

On writing, the notes are simple Markdown files and folders that you can read and edit anywhere, and the editor has auto-save and a live split-screen preview. The choice of CodeMirror with the Markdown and YAML language modes is visible in the dependencies, and so is marked for rendering with katex for formulas.

Linking and organisation is the group that makes it feel like a wiki. Wikilinks with autocomplete connect pages, a backlinks panel traces every relationship between notes, tags have hierarchies, and there is smart auto-indexing with link updates on rename. That last one is the detail that separates a tool built for campaigns from a general note editor, because in a campaign a name change should not break a hundred links.

Templates and infoboxes cover the wiki convention. There are wiki-style infoboxes for characters, locations, items and more, and reusable templates so new pages arrive pre-filled and consistent. For a game master running a recurring setting, that is the feature that turns a pile of notes into something other people can navigate.

Media and embeds handle images with the embedded local image syntax, image carousels and galleries for visual worldbuilding, and page inserts to embed one page's content inside another, described in terms of navboxes and stat blocks. For a world with a map of the continent that appears on every city page, that is the mechanism.

Privacy has an unusual feature. It uses Discord-style spoiler syntax to hide information from other readers, which is the requirement of a tabletop game where the game master's notes contain plot secrets, and it works entirely offline.

Importing and migration is the group that decides whether you can bring your existing campaign with you. It imports .docx files from Word and Google Docs with automatic Markdown conversion, imports entire MediaWiki or Fandom wikis from .xml dumps, and opens existing Obsidian vaults directly, which the quick facts describe as Markdown-compatible out of the box.

Customization closes the list, with a built-in theme editor for colours and fonts, and vault diagnostics that find broken links and keep the world healthy.

How it is built and what that buys

The quick facts table gives the stack in one line: Rust and Tauri, described as lightweight with instant performance. The package.json confirms the shape in detail.

The front end is Svelte 5 with SvelteKit, built by Vite, and the check script runs svelte-kit sync followed by svelte-check against the tsconfig, with a watch variant. There is a static adapter, which fits a desktop application that ships its own web view, and vitest for tests with its own config file.

The editor is CodeMirror, with the Markdown, YAML and general language packages, plus the lezer highlighter, and it is wrapped by svelte-codemirror-editor so the CodeMirror instance lives inside the Svelte component tree rather than being bolted on.

The Tauri side is where the desktop integration lives, and the plugin list tells you what the application can do. There is a dialog plugin for file pickers, a filesystem plugin, an opener plugin for handing links to the system browser, an OS plugin for platform information, a process plugin, a store plugin for application settings, and an updater plugin. The updater is the interesting one, because it means the application updates itself, which matters for a single-maintainer project that cannot expect users to check for releases manually.

Leaflet is a dependency, and the types package for it too, which connects to the Interactive Maps feature listed as coming in Chronicler Pro. Having the mapping library already in the dependency tree suggests the groundwork is laid even though the feature is not in the free tier yet. js-yaml handles front matter and marked renders Markdown.

There is a flatpak/ directory at the top level, which is how the Linux build is distributed alongside the AppImage and .deb packages the quick facts mention, and a static/ directory holding the assets. The repository also has HELP.md, CHANGELOG.md, PRIVACY.md, EULA.md, TRANSLATING.md and TRANSLATORS.md, so the app ships with help, a changelog, a privacy statement, an end user licence agreement and translation guidance. The presence of a TRANSLATORS.md suggests the interface has been translated by contributors rather than only by the author.

How it compares and what to check first

The README carries a comparison table against World Anvil, Obsidian, Notion and Campfire, and the dimensions it uses are the right ones: price, whether the tool works offline, data ownership, and privacy.

On price, Chronicler is free with an optional one-time community licence for cosmetic themes, against a subscription for World Anvil, free for Obsidian and Notion with paid teams, and per-module purchase for Campfire. On offline, Chronicler and Obsidian and Campfire are yes, World Anvil is no because it is browser only, and Notion is partial. On data ownership, the split is between local Markdown files, which is Chronicler and Obsidian, and a cloud or local database for the others.

The honest comparison with Obsidian is the one that matters most, because both store plain Markdown locally and both are free. The difference is in what each one is. Obsidian is a general personal knowledge manager and Chronicler is built for a specific job, with the game master features present in the first place rather than assembled from plugins: infoboxes, templates, spoiler syntax for plot secrets, page inserts for stat blocks, and a fandom and Docx import path. The price of that focus is that Chronicler is not a general notes tool, and the reference to Obsidian in the README's own text is instructive, since a Reddit commenter in the README says they tried Obsidian and that Chronicler was what they were looking for.

The comparison with the cloud tools is really about data ownership, and there the answer is unambiguous. A campaign world is a body of work that can run to hundreds of pages, and keeping it only in a proprietary database means your notes survive only as long as the vendor does. Plain Markdown files on your disk can be opened in any editor, diffed with version control, and moved to another tool.

What to check first is the import path, because it decides whether you can bring anything with you. Opening an existing Obsidian vault is the quickest test, since it tells you whether the editor and the linking model feel like home or not, and it costs nothing. The second check is the licence, particularly if you were hoping to contribute or extend, since the PolyForm Shield terms rule that out.

The third is the roadmap. Chronicler Pro is where the maps, timelines and family trees live, and the core application is described as free forever, so the question for a new user is whether the features they actually want are in the free tier or in the paid one. The three named Pro features are the ones a campaign with a strong world map or a calendar would want most, and it is fair to note that the free tier is not going to grow into them.

Editorial conclusion

Adopt Chronicler if you run tabletop campaigns or write fiction and want a local wiki whose files stay in plain Markdown on your disk, with no account and no subscription. Skip it if you need to modify the application itself, because the PolyForm Shield licence lets you view and audit the code but not modify or redistribute it. Verify first by opening an existing Obsidian vault with it, since that is the quickest way to see whether its editor and linking model fit how you already work.

Frequently asked questions

What is Chronicler and who is it for?

It is a free, offline worldbuilding tool and local wiki for writers, game masters and tabletop RPG creators, which stores notes as plain Markdown files on your own machine. The README lists the audiences as game masters running D&D campaigns or Pathfinder settings, novelists, worldbuilders wanting a local wiki, and privacy-focused creators.

Can I modify or redistribute the Chronicler source code?

No. The README states that Chronicler is source-available rather than open source: you can view and audit the code, but you cannot modify, redistribute or reuse it. The licence is PolyForm Shield 1.0.0, and the terms are in the LICENSE file in the repository.

How does Chronicler compare with Obsidian?

Both store plain Markdown locally and both are free. The difference is focus: Chronicler ships game master features such as infoboxes, templates, spoiler syntax for plot secrets, page inserts and imports from Word and Fandom wikis, while Obsidian is a general personal knowledge manager. The README's comparison table also notes that Chronicler is free with an optional one-time licence for cosmetic themes.

What can I import into Chronicler?

It imports .docx files from Word and Google Docs with automatic Markdown conversion, imports entire MediaWiki and Fandom wikis from .xml dumps, and opens existing Obsidian vaults directly. The free core also includes a built-in theme editor and vault diagnostics that find broken links.

What technology is Chronicler built with?

Rust and Tauri for the desktop shell, with a Svelte 5 and SvelteKit front end built by Vite, CodeMirror for the editor, marked and katex for rendering, and Leaflet in the dependency tree for the maps coming in Chronicler Pro. The Linux build is distributed as an AppImage, a .deb and a flatpak.

Official sources

  1. Issues
  2. mak-kirkland/chronicler on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mak-kirkland-chronicler.svg)](https://hysenlabs.com/projects/mak-kirkland-chronicler)

Was this useful?