infinitesum1k downloadsInsert custom emojis with quick search, auto-suggestions, and customizable templates.
Quickly insert custom emojis in Obsidian. Supports search, custom styles, and insertion templates.
![]()
![]()
![]()
Panel Selection

Quick Insert

Pack Management Panel
:: or ::)Step 1: Add Emoji Packs
Supports both remote and local JSON OWO emoji pack files as well as remote and local images. Go to plugin settings, add emoji packs in "OWO JSON URLs or Local Paths":

icon fields in the JSON pointing to image paths relative to the VaultStep 2: Quick Insertion
Type trigger character + emoji name in the editor:
Step 3: Use Emoji Panel
Click the toolbar icon or use command palette to search for "Emoji Selector"
| Shortcut | Function |
|---|---|
:: or :: |
Trigger quick insert (default, customizable in settings) |
Tab / Shift+Tab |
Switch emoji pack collections in panel |
Ctrl+M |
Toggle multi-select mode in panel (when search box is focused) |
↑ / ↓ |
Navigate emoji selection |
Enter |
Select emoji |
Esc |
Close panel |
Supports multiple triggers, separated by |.
Configuration Examples:
| Configuration | Description | Usage Example |
|---|---|---|
::|:: |
Chinese and English double colons (recommended) | ::smile or ::smile |
:|: |
Chinese and English single colons | :smile or :smile |
:: |
English double colons only | ::smile |
For owo format emoji packs, the plugin automatically parses and converts:
OWO File Structure Example:
{
"猫猫虫": {
"type": "image",
"container": [
{
"text": "bugcat_bugcat_shock",
"icon": "<img src='https://emoticons.hzchu.top/emoticons/bugcat/bugcat_shock.png'>"
}
]
}
}
Available Variables:
| Variable | Description | Example Value |
|---|---|---|
{category} |
Collection name | 猫猫虫 |
{text} |
text field |
bugcat_bugcat_shock |
{url} |
Image URL extracted from icon field HTML | "https://emoticons.hzchu.top/emoticons/bugcat/bugcat_shock.png" |
{name} |
category + index, auto-generated unique identifier | 猫猫虫_0 |
{type} |
type field |
image |
{filename} |
Filename without extension, extracted from URL | bugcat_shock |
{fullfilename} |
Complete filename with extension, extracted from URL | bugcat_shock.png |
{classes} |
CSS classes automatically added based on type field, plus user-defined CSS classes | emoji-image |
Default HTML Template:
<img src="https://raw.githubusercontent.com/infinitesum/obsidian-emoji-selector/HEAD/{url}" alt="{text}" title="{text}" class="{classes}">
Markdown Format:

Stellar Tag Component:
{% emoji {category} {fullfilename} %}
Custom Styles:
<span class="my-emoji {classes}">
<img src="https://raw.githubusercontent.com/infinitesum/obsidian-emoji-selector/HEAD/{url}" alt="{text}" loading="lazy">
<span class="emoji-tooltip">{text}</span>
</span>
sml matches "smile" related emojis活字乱刷.*a searches for emojis containing "a" in the "活字乱刷" collectionA: The plugin uses a caching mechanism. Speed will significantly improve after the first load. You can check cache status in settings.
A: For a quick introduction, recommended reading: Learn Regex the Easy Way.
A: In plugin settings, add the emoji pack JSON file path to "OWO Emoji Pack Address". Find emoji packs at emoticons.hzchu.top.
A: Make sure "Enable Quick Input" is enabled in settings.
# Install dependencies
pnpm install
# Development mode
pnpm dev
# Build production version
pnpm build
MIT License - See LICENSE file for details
If you find this plugin useful, feel free to:
Enjoy using emojis in Obsidian! 😊