| .github/workflows | ||
| assets | ||
| scripts | ||
| .gitignore | ||
| esbuild.config.mjs | ||
| eslint.config.mts | ||
| LICENSE | ||
| main.ts | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| versions.json | ||
Federated Emoji
https://github.com/user-attachments/assets/3393baab-decf-48b4-bfd4-a168eb73fc21
Federated Emoji renders and inserts Mastodon-style custom emoji in Obsidian while keeping your notes as portable Markdown.
Features
- Render
:shortcode:as custom emoji in Live Preview and Reading view. - Search emoji by shortcode after typing
:and insert a result with the keyboard or mouse. - Open a searchable emoji picker from the ribbon or command palette.
- Browse emoji grouped by instance and server-provided category.
- Import from multiple Mastodon or compatible instances, with configurable priority for duplicate shortcodes.
- Keep the Markdown source unchanged as
:shortcode:.
Setup
- Enable Federated Emoji under Settings → Community plugins.
- Open Settings → Federated Emoji.
- Add one instance domain per line, such as
mastodon.social. - Wait for the automatic refresh or select Refresh now.
Type : in a Markdown note to search, or use Open emoji picker from the ribbon or command palette.
Network use and data
The plugin sends unauthenticated GET requests to /api/v1/custom_emojis on each instance configured by the user. Responses are cached in the plugin's local data.json. The plugin does not collect telemetry, create accounts, or send note content. Emoji images are loaded from the URLs returned by the configured instances.
Compatibility
- Minimum Obsidian version: 1.5.0
- Desktop and mobile
Manual installation
Download main.js, manifest.json, and styles.css from a release and place them in <vault>/.obsidian/plugins/federated-emoji/.
Development
npm ci
npm run dev
Run the release checks before publishing:
npm run check