Obsidian core Templates plugin

article technology high #obsidian#templates#markdown#knowledge-management#productivity
Created: 2026-04-22 Updated:

The bundled Obsidian Templates plugin inserts a pre-written Markdown file into the active note. It supports three static variables (title, date, time) with Moment.js formatting overrides and is configured via .obsidian/templates.json.

Obsidian core Templates plugin

The core Templates plugin is bundled with Obsidian and inserts the full contents of a pre-written Markdown file into the currently active note. It requires no installation — only enablement — and supports three static variables with optional Moment.js format overrides.

Enabling the Plugin

Navigate to Settings → Core plugins → Templates and toggle the plugin on. The vault config file .obsidian/core-plugins.json stores this as "templates": true.

Configuration

All settings are stored in .obsidian/templates.json. The folder key is required; dateFormat and timeFormat are optional and accept Moment.js tokens.

{
  "folder": "templates/inbox",
  "dateFormat": "YYYY-MM-DD",
  "timeFormat": "HH:mm"
}

The folder path is vault-relative. Default date format is YYYY-MM-DD; default time format is HH:mm.

Built-In Variables

VariableInserts
{{title}}Name of the active note (no extension)
{{date}}Current date using the configured dateFormat
{{time}}Current time using the configured timeFormat
{{date:FORMAT}}Date with an inline Moment.js format override
{{time:FORMAT}}Time with an inline Moment.js format override

The inline-override syntax ({{date:YYYY/MM/DD}}) lets a single template emit different date shapes without changing global settings.

Command Palette Usage

Run “Templates: Insert template” from the command palette (Cmd/Ctrl+P) to open a fuzzy-search picker over the configured templates folder. There is no default hotkey; one can be assigned in Settings → Hotkeys.

Contrast with the Templater Community Plugin

Templater extends the built-in approach with JavaScript execution (<% %> syntax), dynamic commands, user-defined functions, and file-creation or startup triggers. The core plugin handles static variable substitution only; choose Templater when logic, conditionals, or API calls inside templates are required.

Sources

Local graph