TL;DR
- WordPress emoji scripts add extra HTTP requests and parsing on every page.
- A short
functions.phpsnippet 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_scriptsandadmin_print_styleslines. - 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.jsis gone. - Check network requests: no
emojiscripts/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.
Generate the emoji removal snippet instantly
Use the Disable Emojis Code generator to customize the exact snippet you need.