Skip to main content
Performance April 6, 2026 · 6 min read

How to Disable WordPress Emojis (Code + Performance Impact)

WordPress loads emoji detection scripts, styles, and an emoji SVG CDN on every page by default. If you don’t need emoji conversion, removing those assets cuts requests and speeds up the front end.

FP

FyrePress Team

WordPress Developer Tools

TL;DR

  • WordPress emoji scripts add extra HTTP requests and parsing on every page.
  • A short functions.php snippet disables emoji JS/CSS safely.
  • You can keep emojis in the admin or emails if you want—optional toggles are included below.

Why Disable WordPress Emojis?

WordPress loads wp-emoji-release.min.js, emoji styles, and an SVG emoji CDN on every front-end page—even if your theme never uses emoji conversion. On performance budgets, these extra assets can add measurable cost to LCP and TBT, especially on mobile.

Disabling emoji support removes that overhead while keeping the actual emoji characters in your content unchanged. Visitors will still see emojis rendered by their device fonts.

The Safe Snippet (functions.php)

Drop this into your theme’s functions.php file. It removes emoji scripts/styles and the TinyMCE emoji plugin.

function fyrepress_disable_emojis() {
    remove_action('wp_head', 'print_emoji_detection_script', 7);
    remove_action('admin_print_scripts', 'print_emoji_detection_script');
    remove_action('wp_print_styles', 'print_emoji_styles');
    remove_action('admin_print_styles', 'print_emoji_styles');
    remove_filter('the_content_feed', 'wp_staticize_emoji');
    remove_filter('comment_text_rss', 'wp_staticize_emoji');
    remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
    add_filter('tiny_mce_plugins', 'fyrepress_disable_emojis_tinymce');
    add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'fyrepress_disable_emojis');

function fyrepress_disable_emojis_tinymce($plugins) {
    if (is_array($plugins)) {
        return array_diff($plugins, array('wpemoji'));
    }
    return array();
}

FyrePress tool: Use the Disable Emojis Code generator to customize this snippet in seconds.

Optional: Keep Emojis in Admin or Email

If your editors rely on emoji conversions inside the block editor, remove the admin lines only:

  • Remove admin_print_scripts and admin_print_styles lines.
  • Keep the rest for front-end performance.

If you want emoji conversion in emails, keep the wp_mail filter and remove that line from the snippet.

How to Verify It Worked

  • View source and confirm wp-emoji-release.min.js is gone.
  • Check network requests: no emoji scripts/styles or SVG CDN requests.
  • Test a page with emojis and confirm they still display.

Frequently Asked Questions

Will disabling emojis break user content?

No. Emoji characters stay in your content; WordPress simply stops loading the conversion scripts.

Should I disable emojis in the admin too?

Only if you want maximum performance. Most sites can leave admin emojis enabled with minimal impact.

Does this affect email emojis?

If you remove the wp_mail filter, WordPress won’t convert emojis for email.

Is a plugin required?

No. The snippet above is enough for most sites.

Key Takeaways

  • Emoji assets are optional and add requests to every page.
  • Disable them safely with a small functions.php snippet.
  • Keep admin or email conversions if your workflow needs them.
Tags: Performance WordPress Core Emojis

Generate the emoji removal snippet instantly

Use the Disable Emojis Code generator to customize the exact snippet you need.