Menu Icons by Themeisle – Add Icons to Navigation Menus
by Themeisle 4.9 (849 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 #306 among WordPress.org plugins with 100,000+ active installations, is #46 of 8,534 in the Customization category, a 4.9/5 rating from 849 reviews, and was last updated Sep 2, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1
v0.13.24 Current Version v0.13.24
Updated 1 week ago Last Update on 02 Sep, 2026
Refreshed 11 hours ago Last Refreshed on
#46 of 8,534 in Customization Top 1% by installs Downloads -85.2% this week Actively maintained
View on WordPress.org
Rank
#306
No change
Active Installs
100K+
-47.4%
KW Avg Position
3.6
No change
Downloads
4.6M
+855 today
Support Resolved
100%
No change
Rating
98%
Review 4.9 out of 5
4.9 (849 reviews)

Next Milestone 200K

Total Progress 88.8%
100K+ 200K+
20
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 11,174 more installs to reach 200K+

Rank Changes

286 296 306 316 326 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026
285 295 306 316 326 31-08-2026 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026
Current #306
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

600 800 1K 1.2K 1.4K 1.6K 1.8K 2K 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026
0 5K 10K 15K 20K 25K 31-08-2026 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-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
849 reviews
Overall 98%
5
792 (93%)
4
33 (4%)
3
11 (1%)
2
1 (0%)
1
12 (1%)

Support Threads Overview

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

Security History

Source: WPVulnerability

2 known vulnerabilities on record · 1 in the last 24 months · checked 1 week 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.