custom emoji

From IndieWeb

Custom emoji are "picture characters" just like emoji, but not from the standard unicode set but rather custom/user-provided. Sometimes, especially historically before standard Emoji became popular, also referred to as custom emoticons (e.g. in MSN Messenger in 2005).

observed patterns

  • included in conventional emoji picker inside the apps
  • more common in chat software than (micro-)blogs
  • emojis setup and use sometimes tied to membership in some community/channel/instance



Various Fediverse projects support a common ActivityPub extension to include custom emoji as tags in messages: (supported e.g. in Mastodon [1], Pleroma [2], GoToSocial [3], PixelFed [4], Misskey [5])

They are (usually?) configured by the instance admin and made available in the posting UI through emoji picker and :shortcodes:. This is a tool to view the custom emoji configured on a specific instance (TODO: is there some general overview tool?)

They can also be used in display names for accounts.

Bridgy Backfeed

When receiving backfeed of replies to POSSE'd posts via bridgy, it includes the custom emoji as inline images, linking to the custom emoji cache of your instance:

<article class="h-entry">
  <div class="e-content p-name">
  <p>This is message text <img alt="<shortcode>" src="https://<instance-assets-domain>/cache/custom_emojis/images/XXX/YYY/ZZZ/original/<hash>.png" style="height: 1em"></p>

  <a class="u-in-reply-to" href="<yourpost>"></a>

If your comment display allows images, they will automatically work, but there is no 100% clear indication that an image is a custom emoji if you wish to filter for them (e.g. because you only want to allow them, but not other, not-inline-styled images).

Bridgy Fed

TODO: how are they received through bridgy fed? Can you post them through it?


Custom emoji can be configured in Slack per workspace and used in messages and in reacji inside that workspace.


Custom emoji can be configured in Discord per community and used in messages and reacji in that community. Use of animated custom emoji is restricted to paying users, as is the use of emoji from another community they are a member of.


Twitch supports custom "Emotes" through the service, e.g. as a perk for channel subscribers (similar to discord, only subscribers can use them in other channels). In addition, there is a surprisingly large ecosystem of third-party integrations that add custom emoji outside the platform restrictions, through browser extensions, integration in streaming software. Examples

MSN Messenger

Historic example, starting in 2005 with the release of MSN Messenger 7 according to [6] - added to document a possible starting point, there's probably a lot more forgotten ones between this and the current examples

See Also

  • Twitter popularized custom emoji starting in 2014

    In 2014, Twitter introduced hashflags, special hashtags that automatically generate a custom emoji next to them for a certain period of time. Hashflags may be generated by Twitter themselves or be purchased by corporations.

    • Custom emoji as discussed in the other examples feel noticeably different, e.g. the integration through the picker just like normal emoji, per-community configuration. Hashflags to me seem more like special cases of hashtags to make them stand out more, not emoji-like in use.