Menu Icons by Themeisle – Add Icons to Navigation Menus
by Themeisle 4.9 (850 reviews)

Menu Icons by Themeisle – Add Icons to Navigation Menus

Add icons to WordPress navigation menus easily — pick from Font Awesome, Dashicons, image icons & more. Style menu items with custom colors & sizes.

Menu Icons by Themeisle ranks #305 among WordPress.org plugins with 100,000+ active installations, is #46 of 8,698 in the Customization category, a 4.9/5 rating from 850 reviews, and was last updated Sep 29, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1.3
v0.13.25 Current Version v0.13.25
Updated 1 week ago Last Update on 29 Sep, 2026
Refreshed 8 hours ago Last Refreshed on
#46 of 8,698 in Customization Top 1% by installs Downloads -66.6% this week Actively maintained
View on WordPress.org
Rank
#305
— No change
Active Installs
100K+
-47.2%
KW Avg Position
2.8
— No change
Downloads
4.7M
+958 today
Support Resolved
100%
— No change
Rating
98%
Review 4.9 out of 5
4.9 (850 reviews)

Next Milestone 200K

Total Progress 89.4%
100K+ 200K+
19
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 10,556 more installs to reach 200K+

Rank Changes

284 294 305 315 325 01-10-2026 02-10-2026 03-10-2026 04-10-2026 05-10-2026 06-10-2026 07-10-2026 08-10-2026
284 295 306 316 327 23-09-2026 24-09-2026 25-09-2026 26-09-2026 27-09-2026 28-09-2026 29-09-2026 30-09-2026 01-10-2026 02-10-2026 03-10-2026 04-10-2026 05-10-2026 06-10-2026 07-10-2026 08-10-2026
Current #305
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 1K 2K 3K 4K 5K 01-10-2026 02-10-2026 03-10-2026 04-10-2026 05-10-2026 06-10-2026 07-10-2026 08-10-2026
0 5K 10K 15K 20K 25K 30K 23-09-2026 24-09-2026 25-09-2026 26-09-2026 27-09-2026 28-09-2026 29-09-2026 30-09-2026 01-10-2026 02-10-2026 03-10-2026 04-10-2026 05-10-2026 06-10-2026 07-10-2026 08-10-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

4.9
850 reviews
Overall 98%
5
793 (93%)
4
33 (4%)
3
11 (1%)
2
1 (0%)
1
12 (1%)

Support Threads Overview

Resolved
Unresolved
2
Total Threads
2
Resolved
0
Unresolved
100%
Resolution Rate

Security History

Source: WPVulnerability

2 known vulnerabilities on record · 1 in the last 24 months · checked 3 days ago

  1. Menu Icons by Themeisle – Add Icons to Navigation Menus [menu-icons] < 0.13.21

    CVE-2026-1755 · Fixed in v0.13.21

  2. Menu Icons by Themeisle – Add Icons to Navigation Menus [menu-icons] < 0.13.14

    CVE-2024-4635 · Fixed in v0.13.14

TL;DR

AI summary of the plugin's readme

This plugin is for WordPress site owners and theme developers who want to enhance their navigation menus visually. It solves the problem of plain, icon-less menus by letting users add and style icons (from Font Awesome, Dashicons, images, and more) directly on menu items via the Appearance > Menus screen.

  • Add icons to menu items
  • Dashicons support
  • Font Awesome support
  • Elusive Icons support
  • Foundation Icons support
  • Genericons support
  • Image and SVG attachments
  • Custom colors and sizes

Frequently Asked Questions

Common questions about Menu Icons by Themeisle – Add Icons to Navigation Menus

You can use the icon_picker_icon_type_stylesheet_uri filter, eg: /** * Load Font Awesome's CSS from CDN * * @param string $stylesheet_uri Icon type's stylesheet URI. * @param string $icon_type_id Icon type's ID. * @param Icon_Picker_Type_Font $icon_type Icon type's instance. * * @return string */ function myprefix_font_awesome_css_from_cdn( $stylesheet_uri, $icon_type_id, $icon_type ) { if ( 'fa' === $icon_type_id ) { $stylesheet_uri = sprintf( 'https://maxcdn.bootstrapcdn.com/font-awesome/%s/css/font-awesome.min.css', $icon_type->version ); } return $stylesheet_uri; } add_filter( 'icon_picker_icon_type_stylesheet_uri', 'myprefix_font_awesome_css_from_cdn', 10, 3 );
Certainly! Here's how you can remove an icon type from your plugin/theme: /** * Remove one or more icon types * * Uncomment one or more line to remove icon types * * @param array $types Registered icon types. * @return array */ function my_remove_menu_icons_type( $types ) { // Dashicons //unset( $types['dashicons'] ); // Elusive //unset( $types['elusive'] ); // Font Awesome //unset( $types['fa'] ); // Foundation //unset( $types['foundation-icons'] ); // Genericons //unset( $types['genericon'] ); // Image //unset( $types['image'] ); return $types; } add_filter( 'menu_icons_types', 'my_remove_menu_icons_type' ); To add a new icon type, take a look at the files inside the includes/library/icon-picker/includes/types directory of this plugin.
Add this block of code to your mu-plugin file: add_filter( 'menu_icons_disable_settings', '__return_true' );
Add this block of code to your mu-plugin file: /** * Override hidden label class * * @param string $class Hidden label class. * @return string */ function my_menu_icons_hidden_label_class( $class ) { $class = 'hidden'; return $class; } add_filter( 'menu_icons_hidden_label_class', 'my_menu_icons_hidden_label_class' );
Add this block of code to your mu-plugin file: /** * Override menu item markup * * @param string $markup Menu item title markup. * @param integer $id Menu item ID. * @param array $meta Menu item meta values. * @param string $title Menu item title. * * @return string */ function my_menu_icons_override_markup( $markup, $id, $meta, $title ) { // Do your thing. return $markup; } add_filter( 'menu_icons_item_title', 'my_menu_icons_override_markup', 10, 4 );
Let me know via GitHub issues and I'll see what I can do.
Add this block of code to your mu-plugin file: /** * Disable menu icons for a menu * * @param array $menu_settings Menu Settings. * @param int $menu_id Menu ID. * * @return array */ function my_menu_icons_menu_settings( $menu_settings, $menu_id ) { if ( 13 === $menu_id ) { $menu_settings['disabled'] = true; } return $menu_settings; } add_filter( 'menu_icons_menu_settings', 'my_menu_icons_menu_settings', 10, 2 );
Create a new directory called fontpacks in wp-content. Grab the zip of the pack, extract, and upload it to the newly created directory. Enable the icon type from the Settings meta box. I can't select a custom image size from the *Image Size* dropdown Read this blog post.
Plugin security is a core priority for us. If you identify a potential vulnerability, we ask that you disclose it responsibly. Please follow the reporting protocols outlined on our Security Page.

More plugins by Themeisle

Sign In / Register

You need to sign in or register to use this feature.