# Templater for Obsidian: a JS templating engine for your notes

> Templater turns Obsidian notes into templates that run JavaScript, call system commands and write their output back into the file. It is AGPL-3.0 licensed, and it executes whatever you put in it.

**SilentVoid13/Templater** — A template plugin for obsidian

- Repository: https://github.com/SilentVoid13/Templater
- Website: https://silentvoid13.github.io/Templater
- Stars: 5,317 · Forks: 334
- Language: TypeScript
- License: AGPL-3.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/silentvoid13-templater

## The gap between a static note and a note that computes

Obsidian's built-in templates insert fixed text. If a daily note needs today's date, a project note needs a slug derived from its title, or a meeting note needs the previous note's filename, a static template cannot produce that. You either type the value or leave a placeholder. Templater exists to close that gap. It defines a templating language that inserts variable and function results into notes, and it also lets you execute JavaScript that manipulates those variables and functions. The audience is narrow and specific: Obsidian users who are willing to write small scripts, and who treat note creation as a repeatable process rather than a one-off act of typing. If you never repeat a note structure, the plugin has nothing to do for you. If you repeat one daily, the difference between a static template and Templater is the difference between a form and a generator.

## How Templater executes a template

The README describes two layers. The first is the templating language: placeholders in a note that resolve to variable or function results when the template runs. The second is JavaScript execution, which can manipulate those same variables and functions. That second layer is what separates Templater from a text-substitution plugin, and it is also the source of its risk. The README carries an explicit warning that Templater allows you to execute arbitrary JavaScript code and system commands, and that running code or commands from untrusted sources can be dangerous. Read that as an architectural statement, not a disclaimer. A template file is executable content. Sharing a template from a discussion thread is closer to running a script from a stranger than to pasting a snippet of text. The repository layout supports the two-layer picture: src/ holds the TypeScript implementation, docs/ is an mdBook site, and test/ plus wdio.conf.mts drive WebdriverIO end-to-end tests against a built main.js. The build is esbuild, driven by esbuild.config.mjs, with dev and build scripts in package.json, and the plugin declares obsidian 1.13.0 as a dev dependency.

## Installing Templater and running a first template

Templater is an Obsidian community plugin, so installation happens inside Obsidian rather than through a package manager. The README does not print an install command; it points to the documentation site for usage and to a quick demo discussion titled How to setup and run your first Templater JS script. The route is the Obsidian community plugin browser: open Settings, go to Community plugins, browse, search for Templater, then install and enable it. After enabling, open the plugin settings and set a template folder, which is where Templater looks for the template files you will invoke. Create a note inside that folder and give it a name you will recognize, for example daily.md. What you should see is a Templater entry in the installed plugins list and a settings pane with a template folder field. Once the folder is set, insert a template into a note and the placeholders resolve at that moment. The README's own framing is that Templater inserts variable and function results into your notes, so the observable result of a correct setup is a note whose placeholder text has been replaced by a value rather than left as literal characters. The README does not document a rollback for a template that has already run, so keep a copy of any note whose contents matter before you execute a new template against it. For worked examples, the README links template showcases by chhoumann, zachatoo and lguenth, and video walkthroughs by tallguyjenks and ProductivityGuru. If you build the plugin from source instead of installing the release, the repository provides these scripts:

```bash
pnpm dev
pnpm build
```

The first runs esbuild in watch mode and the second produces the production build that Obsidian loads as main.js.

## The execution surface is the real cost

The warning in the README is the limitation worth taking seriously. Templater runs JavaScript and system commands, which means a template is not inert content. A vault that syncs templates between machines, or a template pulled from a showcase gist, carries whatever that file does. The plugin gives you no sandbox according to the README; the protection is your own reading of the code before you run it. There is a second, quieter cost. Because templates can compute values from the vault and the system, a template that works on one machine may not work on another, and the failure appears at run time rather than at install time. If you want fixed text with no execution, Obsidian's core templates are the correct tool and Templater is the wrong one. The README itself notes that Templater is a template plugin for Obsidian, not a replacement for the core template feature.

## Templater against QuickAdd and the core template plugin

The README lists alternatives directly: chhoumann/quickadd, garyng/obsidian-temple and avirut/obsidian-metatemplates. The difference in approach matters more than the feature list. QuickAdd is built around capture and macro workflows, so its center of gravity is getting content into the vault through defined actions. Templater's center of gravity is the template file itself: a note-shaped document that resolves placeholders and can run JavaScript while it does so. If your problem is "I want a button that appends a line to today's note," that is a capture problem and QuickAdd is aimed at it. If your problem is "the note I am creating should compute three values before it exists," that is a template problem and Templater is aimed at it. Against Obsidian's core templates, the split is simpler: core templates insert text, Templater evaluates it. The two can coexist, and the README does not present Templater as a replacement for the built-in feature.

## Licence, releases and what upgrades cost you

Templater is licensed under AGPL-3.0, stated in the README and as AGPL-3.0-only in package.json. That is a copyleft licence, and it is unusual for an Obsidian plugin, most of which ship under permissive terms. If you fork the plugin, redistribute a modified build, or run a modified version as a network service, the licence terms apply to you; this article is not legal advice, so read LICENSE.TXT in the repository before you build on it. Release cadence is visible in the repository: 2.25.1 and a 2.25.2-beta.0 on 2026-09-19, with 2.25.0 on 2026-08-05. The last push to master was on 2026-09-19, so the project is not archived and is receiving commits. Upgrades are the ordinary community plugin kind: Obsidian updates the plugin, and your templates keep running against the new version. The upgrade cost that matters is not the version number but the API surface your templates touch. A template that leans on JavaScript and system commands is coupled to whatever those calls return, and the README does not document a compatibility guarantee across versions. The package.json shows standard-version and commitizen in the toolchain, which means releases are cut from conventional commits, so CHANGELOG.md is the place to check what changed before you update a vault you depend on.

## Conclusion

Adopt Templater if you already write JavaScript and want note creation to compute values instead of asking you to fill them in by hand; skip it if a static Obsidian core template covers your case, because Templater adds an execution surface you then have to trust. Before installing, verify the community plugin entry matches SilentVoid13/Templater, that the template folder setting points where you expect, and that you are comfortable with the warning the README gives about arbitrary JavaScript and system commands.

## FAQ

### What is Templater in Obsidian?

Templater is an Obsidian plugin that defines a templating language for inserting variable and function results into notes, and that can also execute JavaScript manipulating those variables and functions.

### What are the differences between Obsidian Templates and Templater?

Obsidian's core template feature inserts fixed text, while Templater evaluates placeholders and can run JavaScript and system commands to produce the values. The README presents Templater as a template plugin for Obsidian, not as a replacement for the core feature.

### How do I install Templater in Obsidian?

Install it from the community plugins list: open Settings, go to Community plugins, browse, search for Templater, then install and enable it. After enabling, set a template folder in the plugin settings so Templater knows where your template files live.

### How do I use the Templater plugin in Obsidian?

The README points to the documentation site at silentvoid13.github.io/Templater for usage, and links a quick demo discussion titled How to setup and run your first Templater JS script. In practice you set a template folder, create a template file there, and insert it into a note so the placeholders resolve.

### How do I use Templater?

The README directs new users to the documentation site at silentvoid13.github.io/Templater, and the repository ships an mdBook docs folder that is served with mdbook serve docs during development. It also points to a quick demo discussion on setting up and running your first Templater JS script.

## Sources

- [License: AGPL-3.0](https://github.com/SilentVoid13/Templater/blob/master/LICENSE)
- [Project website](https://silentvoid13.github.io/Templater)
- [README](https://github.com/SilentVoid13/Templater/blob/master/README.md)
- [Releases](https://github.com/SilentVoid13/Templater/releases)
- [SilentVoid13/Templater on GitHub](https://github.com/SilentVoid13/Templater)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/silentvoid13-templater
