Title: Axismundi Emoji
Author: Jiwoon Kim
Published: <strong>September 18, 2026</strong>
Last modified: September 18, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/axismundi-emoji.svg)

# Axismundi Emoji

 By [Jiwoon Kim](https://profiles.wordpress.org/kimjiwoon/)

[Download](https://downloads.wordpress.org/plugin/axismundi-emoji.0.3.1.zip)

[Live Preview](https://wordpress.org/plugins/axismundi-emoji/?preview=1)

 * [Details](https://wordpress.org/plugins/axismundi-emoji/#description)
 * [Reviews](https://wordpress.org/plugins/axismundi-emoji/#reviews)
 * [Development](https://wordpress.org/plugins/axismundi-emoji/#developers)

 [Support](https://wordpress.org/support/plugin/axismundi-emoji/)

## Description

Axismundi Emoji handles both kinds of emoji a WordPress site meets.

#### Custom emoji

Custom emoji are site-specific images addressed by a `:shortcode:` inside otherwise
plain text. They work on a site of their own, and federate as FEP-9098 declarations
when a federation plugin is present.

 * Local: upload emoji through WordPress’s own upload validation. A `:shortcode:`
   for one of them renders as its image in posts and comments, and is declared in
   the outbound `tag` array of the Notes, Articles, and Actors that use it. Emoji
   marked local-only render at home and travel as their shortcode, never as an image.
 * Received: remote emoji declared by other servers are recorded, held in an authority-
   gated review queue, verified against their own authority, cached as bytes once
   approved, and substituted into received Object bodies, Actor names, and Actor
   biographies. A shortcode nobody approved stays text, and a remote emoji is never
   matched by name alone.
 * Emoji reactions (FEP-c0e0) belong to Axismundi Activities; this plugin observes
   their declared custom emoji so approved reaction chips render through the same
   cache.

#### Unicode emoji

Unicode emoji stay text. Where a browser cannot draw one — flags on Windows, the
newest Emoji 17 sequences on older systems — this plugin can draw it with a bundled
Noto Color Emoji font instead of replacing it with an image. The emoji remains the
same character for copying, searching, and screen readers.

Choose the behaviour under Emojis › Settings (see below). WordPress’s own image 
fallback stays available as the last resort, and can be turned off.

#### Emoji picker

One toolbar button in the block editor opens a picker with recent emoji, this site’s
custom emoji, and the Unicode 17.0 RGI set grouped by category. Choosing a custom
emoji inserts its `:shortcode:`; choosing a Unicode emoji inserts the character 
itself. Nothing but text is saved.

The design is recorded in `docs/AXISMUNDI-EMOJI-ARCHITECTURE.md` and `docs/AXISMUNDI-
EMOJI-UNICODE.md` at the repository root.

### Settings

Emojis › Settings (requires the `manage_options` capability).

Rendering:

 * Automatic fallback (default) — the browser draws emoji itself where it can. Where
   it cannot draw a flag, the flag is drawn with a small flags-only font (about 
   700 KB), downloaded only by browsers that need it.
 * Use Noto Color Emoji — every Unicode emoji on the site is drawn with the complete
   Noto Color Emoji font (about 1.9 MB), so emoji look the same on every device.
   The font is downloaded once, on the first page with an emoji, and cached.
 * WordPress fallback only — the plugin leaves Unicode emoji alone and loads no 
   font.

WordPress emoji images: a switch for WordPress’s own fallback, which replaces emoji
a browser cannot draw with images from WordPress.org. Turn it off to make no emoji
image requests to WordPress.org from the site’s pages. Feeds and emails are not 
affected; WordPress handles emoji there on its own.

### External services

The plugin’s own Unicode fallback makes no external requests: the fonts and the 
emoji catalogue are served from this site.

 * Custom emoji received from other servers: when a federated post, profile, or 
   reaction declares a custom emoji, the plugin fetches that emoji’s metadata and
   image from the declaring server (the URLs in its ActivityPub `Emoji` declaration)
   to verify and cache it. This happens only for content that reached this site 
   through federation, and remote images are cached locally rather than hotlinked.
   The terms and privacy policy that apply are those of each remote server.
 * WordPress emoji images: WordPress core, not this plugin, loads emoji images from`
   s.w.org` (WordPress.org) where a browser cannot draw an emoji. The Settings switch
   above turns this off on the site’s pages. WordPress.org privacy policy: https://
   wordpress.org/about/privacy/

### Bundled fonts and data

 * Noto Color Emoji, COLRv1, googlefonts/noto-emoji v2.051 (commit 8998f5dd683424a73e2314a8c1f1e359c19e8742),
   converted to WOFF2 without glyph changes, and a flags-only subset of it. SIL 
   Open Font License 1.1. License, provenance, and SHA-256 checksums are in `assets/
   fonts/noto-color-emoji/` (`OFL.txt`, `source.txt`, `manifest.json`). The fonts
   are also offered in the Font Library as an “Axismundi Emoji” collection.
 * Unicode Emoji 17.0 RGI catalogue, derived from Unicode’s `emoji-test.txt`. Unicode
   License; see `assets/unicode/catalogue/rgi-17.0.LICENSE.txt`.

### Bundled emoji

The plugin ships two emoji. Their terms differ; `emoji/LICENSE.txt` records both.

 * `:axismundi:` at `emoji/axismundi.webp` — a 200×200 WebP derived from the project’s
   brand symbol, 5.6 KB, transparency intact, released under GPL-3.0-or-later by
   its copyright holder.
 * `:wordpress:` at `emoji/wordpress.webp` — the WordPress W Mark, recoloured and
   scaled to 200×200. It is a trademark of the WordPress Foundation and is not licensed
   under the GPL; it is included only to refer to WordPress the software, as the
   Foundation’s trademark policy permits. An operator can delete it under Emojis›
   Local.

One size, because FEP-9098 gives an Emoji exactly one `icon.url`: there is no srcset

in the emoji contract, so a second file would federate nothing. 200px is generous
enough for a picker tile and scales down cleanly to the ~1.2em inline case.

    ```
    :axismundi: also serves as the outbound conformance fixture, so the test suite never depends
    ```

on another instance’s restricted asset.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Axismundi Emoji” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Jiwoon Kim ](https://profiles.wordpress.org/kimjiwoon/)

[Translate “Axismundi Emoji” into your language.](https://translate.wordpress.org/projects/wp-plugins/axismundi-emoji)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/axismundi-emoji/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/axismundi-emoji/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/axismundi-emoji/)
by [RSS](https://plugins.trac.wordpress.org/log/axismundi-emoji/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.1

 * The emoji picker now appears in the block editor with Axismundi Emoji alone. 
   In 0.3.0 it appeared only where another Axismundi plugin asked for it.
 * Picker sizes and positions stay on whole pixels, so tiles and the category strip
   stay sharp at fractional display scaling.
 * Corrects the Bundled emoji section: the plugin ships two emoji, not one.

Earlier releases are listed in changelog.txt.

## Meta

 *  Version **0.3.1**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.7 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 8.1 or higher **
 *  [Advanced View](https://wordpress.org/plugins/axismundi-emoji/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/axismundi-emoji/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/axismundi-emoji/reviews/)

## Contributors

 *   [ Jiwoon Kim ](https://profiles.wordpress.org/kimjiwoon/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/axismundi-emoji/)