An Obsidian plugin that watches your editor for lines containing user-configured trigger tags (e.g. #person, #project) and shows an inline button next to each match. Clicking the button creates a dedicated Markdown note for that entity with pre-filled YAML frontmatter, replaces the original line with a wikilink to the new note, and renders a colored pill badge next to the link.
There are two conversion modes, chosen automatically based on what's on the line.
When the trigger tag appears on a line that doesn't have an unresolved [[wikilink]] directly before it, the entire line is converted:
- Type a line containing a trigger tag:
Redesign the onboarding flow #project - A small
→ Projectbutton appears immediately after#project. - Click it. The plugin:
- Creates
Entities/Projects/Redesign the onboarding flow.mdwith frontmatter and a note body - Replaces the line with
[[Redesign the onboarding flow]] - Renders a colored
projectpill badge after the link (decoration only — not written to the file)
- Creates
List items are handled naturally — - Met Alice #person becomes - [[Met Alice]].
When the trigger tag appears directly after an unresolved [[wikilink]], only that wikilink is converted:
- Write a wikilink that doesn't yet have a note, followed by a trigger tag:
[[Project Alpha]] #project - A
→ Projectbutton appears after#project. - Click it. The plugin:
- Creates
Entities/Projects/Project Alpha.mdwith frontmatter (no note body) - Strips
#projectfrom the source line, leaving[[Project Alpha]]in place — which now resolves to the new note - Renders a
projectpill badge after the link
- Creates
A line can have multiple buttons — one per unresolved wikilink+tag pair:
[[Alice]] #person [[Project Alpha]] #project
Each button converts only its own wikilink. Clicking → Person creates Alice.md and strips #person; the rest of the line is unchanged until you click → Project.
All defaults can be edited or deleted, and you can add your own entity types.
- Convert on enter (default: off) — when enabled, pressing Enter at the end of a matched line triggers conversion immediately, without clicking the button. All matches on the line are converted at once. A newline is still inserted as normal.
- Identify entities by (default: Entity-type property) — controls how the plugin recognises entity notes for pill display:
- Entity-type property — the
entity-typefrontmatter field must be present and match an entity type id. At most one pill per link. - Tag — the
tagsfrontmatter field must contain one or more entity type ids. One pill per matching tag; a single note can match multiple types.
- Entity-type property — the
Each of the five standard frontmatter fields has an enabled toggle and a configurable field name (the YAML key written to created notes). All are on by default with the names shown in the Created note format section. You can rename them (e.g. title → note-title) to match your vault's property conventions; existing notes are not affected.
Note: When using Entity-type property mode, disabling the
entity-typefield will prevent pills from appearing on newly created entity notes.
- Name — display label shown on the button and pill
- Trigger tag — the hashtag that activates detection (e.g.
#person) - Target folder — vault path where notes are created
- Color — background color of the pill badge
- Enabled — disable an entity type without deleting it
- Frontmatter template — extra key-value fields written into every created note
Changes take effect immediately without reloading the plugin.
Line conversion creates a note with frontmatter and a body:
---
title: "Redesign the onboarding flow"
entity-type: "project"
tags:
- project
created: "2026-03-22"
source-note: "[[Daily Note 2026-03-22]]"
---
Redesign the onboarding flowThe note body contains the line text with the trigger tag and list markers stripped. Wikilinks embedded in the line are preserved in full in both the title field and the body, while the filename strips the brackets ([[Alice]] → Alice).
Wikilink conversion creates a note with frontmatter only (no body). The title field is the bare link text.
All five standard fields are optional and their names are configurable (see Frontmatter fields above). Fields from the frontmatter template are appended after the standard fields. Template tags are merged into the tags list; any template key that matches a standard field name is ignored (standard fields always win).
- Download
main.js,styles.css, andmanifest.jsonfrom the latest release. - Copy them to
<vault>/.obsidian/plugins/entity-notes/. - Enable the plugin in Obsidian → Settings → Community plugins.
git clone https://github.com/bartvw/entity-notes
cd entity-notes
npm install
npm run dev # watch modeCopy (or symlink) the folder into <vault>/.obsidian/plugins/entity-notes/ and enable it in Obsidian.
Does it work alongside TaskNotes? Yes — it's designed to complement TaskNotes. Both plugins can be active at the same time.
Does it work with Templater? Yes. Enable the "Trigger Templater on new file creation" setting in Templater and it will apply your template to each newly created entity note.
MIT — see LICENSE.
Inspired by the inline task-to-note conversion pattern in TaskNotes by Callum Alpass.




