dimagious7k downloadsType a short trigger, get Markdown. Hotstrings that stay quiet in code, a searchable snippet picker, community packs, and import from Text Snippets and Espanso.
Type todo and a space, get a task. Snipsy turns short triggers into text as you write in
Obsidian. No scripting, and no templates to learn.
Install: Settings → Community plugins → Browse → search for Snipsy. Then open a
note, type todo and a space.
Website · 60-second demo · Full reference
Find a snippet when you forget its trigger. Run Snipsy: Insert snippet… to search triggers and replacements, preview the result and insert it. You can give it a hotkey.
Add your own. Select text, run Snipsy: Add snippet from selection and type a trigger.
Symbols work too, so -> can become →.
Install a pack. Thirteen packs, one click each: Meetings, Daily Journal, Code Review, Symbols & Math and more. Each pack gets its own group, so you can mute it or delete it whole.
Take an expansion back. Undo removes it in one step. Turn on Highlight expansions and Backspace restores the trigger too.
Stop accidental expansions. Mute a group, or turn on prefix mode so only :todo expands and
todo stays a word.
Text Snippets. Its last release was in May 2022. On the Packages page, press Import under Text Snippets import. Snipsy shows a preview and copies your snippets into their own group, without changing anything in Text Snippets. Two differences: Snipsy expands as you type instead of waiting for Tab, and it has no tab stops.
Espanso. Paste the YAML of a package and name a group. Forms, scripts and other things Snipsy can't represent are skipped and named.
Other system-wide expanders. Espanso, Raycast, Keyboard Maestro and AutoHotkey work in every app, and Snipsy works only in Obsidian. Pick Snipsy for Markdown awareness and the same snippets on your phone.
Sixteen triggers in one group called Defaults. Type the trigger, then a space.
| Trigger | Becomes |
|---|---|
todo · done |
- [ ] · - [x] |
h1 · h2 · h3 |
# · ## · ### |
bold · italic · code |
**|** · _|_ · `|`, cursor inside |
note |
a > [!note] callout, cursor on the body line |
table |
a table, cursor in the first cell |
today · now |
2026-09-28 · 14:05 |
brb · omw · ty · imo |
be right back · on my way · thank you · in my opinion |
Delete any of them. Settings → Snipsy → Restore default snippets brings back the missing ones.
| Placeholder | Becomes |
|---|---|
$| |
where the cursor lands |
$1 |
the selected text, when you insert from the picker |
$date · $time |
today · now |
{{date:dddd, D MMMM}} |
your own Moment.js format |
$filename |
the note's file name, with its extension |
$clipboard |
what is on your clipboard |
The reference has the exact rules.
y^2 into y²): use
Substitutions.No analytics, no telemetry, no account. Snipsy goes online only when you open the Packages page, to
fetch the catalog from GitHub. Your snippets stay in the plugin's data.json.
now in my sentencesDelete that snippet, switch off the Defaults group, or turn on prefix mode so only :now expands.
:smile:) don't expand: is a separator, so :smile: can't be typed as one word. Settings → Snipsy → Snippets shows a
Fix triggers button that renames them to smile after a preview.
Start Obsidian with --ozone-platform=x11. If that fixes it, please report it in an issue with your
desktop and input method.
Open an issue with what you typed and what you got. The feature list is short on purpose, and the fastest way to change it is to say what you tried to do and could not.
If Snipsy saves you keystrokes, a star on GitHub helps other people find it, and a coffee says thanks.
Also by the author: Dashy, a dashboard inside an Obsidian note, built from seven Markdown blocks, with no JavaScript or Dataview.
Development commands are in the reference.
MIT © Dmitriy Yurkin