To add icons to WordPress menu items, install Menu Icons by Themeisle, go to Appearance → Menus and choose an icon for each item. For a mobile bottom bar or hamburger menu with icons and badges such as "New" or "Sale", use MenuVerse, which adds icon and badge fields to every menu item and restores Appearance → Menus on block themes.
Which tool for which menu?
| Goal | Tool |
|---|---|
| Icons in your theme's header menu (classic theme) | Menu Icons by Themeisle |
| An image or logo in a menu item | Menu Image |
| Icons and badges in a mobile bottom bar or hamburger menu | MenuVerse |
| Icons on a block theme | MenuVerse (restores the menu screen) or custom Navigation block styling |
Menu Icons by Themeisle (free)
Menu Icons (100,000+ active installs) adds a Select icon link to every item in Appearance → Menus. It supports Dashicons, Font Awesome, Elusive, Foundation, Genericons, Fontello packs, Themeisle's own icons, and your own images and SVGs from the Media Library.
- Install and activate Menu Icons.
- Go to Appearance → Menus. In the Menu Icons Settings box, enable the icon types you want and set defaults.
- On each menu item, click Select icon, choose one and save.
It works with most classic themes. It relies on the classic menu screen, so on block themes you need that screen available first.
Menu Image
Menu Image (100,000+) adds an image or icon to a menu item, positioned left, right, above or below the title, with an option to show only the image and swap images on hover. Font Awesome and Dashicons are supported. Its premium version adds call-to-action buttons, count bubbles (such as cart totals), notification badges ("New", "Sale", "Hiring") and colour options.
At the time of writing (October 27, 2026), its WordPress.org page shows it was last updated in July 2025 and tested up to WordPress 6.7 — check that it works with your WordPress version before relying on it.
MenuVerse: icons and badges for mobile navigation
MenuVerse builds an app-style bottom navigation bar and an off-canvas hamburger menu from your existing menus, and adds per-item fields to the menu editor:
- Icon — from MenuVerse's built-in SVG library. No icon font, no CDN, no external requests. Pro can use your own images, including a second image for the current page.
- Badge — a small label such as "New", "Sale" or "3".
- Hide on mobile or hide on desktop flags.
The bottom bar shows each button's icon with an optional label above or below it, and highlights the current page in one of five styles. With MenuVerse Pro, cart and wishlist buttons get live count badges for WooCommerce and YITH Wishlist.
On block themes
Block themes such as Twenty Twenty-Five don't register classic menu locations, so WordPress hides Appearance → Menus — and with it the per-item fields that icon plugins rely on. MenuVerse puts the screen back when your theme leaves it out (and leaves it alone when your theme already has it). It also reads block Navigation menus directly. See Appearance → Menus missing?
Set it up
- Install MenuVerse and open Appearance → Menus.
- Expand a menu item: set its icon and, if you want, a badge.
- In the MenuVerse dashboard, enable the Bottom Menu (or Mobile Menu), choose this menu and pick a look.
- Place it with the MenuVerse block, shortcode or automatic insertion, and check the phone preview.
See how to add a mobile bottom navigation bar for the full walkthrough.
Comparison
From each plugin's WordPress.org readme as of October 27, 2026. Disclosure: WPXERO makes MenuVerse.
| Menu Icons | Menu Image | MenuVerse | |
|---|---|---|---|
| Icons on theme menus | Yes | Yes | — (its own menus) |
| Icon sets | Dashicons, Font Awesome, more | Font Awesome, Dashicons | Built-in SVG library |
| Own image or SVG | Yes | Yes | Pro |
| Badges | — | Premium | Free |
| Count bubbles (cart) | — | Premium | Pro (live cart and wishlist) |
| Mobile bottom bar | — | — | Free |
| Restores menu screen on block themes | — | — | Yes |
Keep icon menus usable
- Labels with icons. A cart or home icon is clear; most others aren't. Keep a short text label.
- Accessible names. If an item shows only an icon, it still needs a text name for screen readers. Give every menu item a clear title, and test with a screen reader.
- Badges sparingly. One "New" badge draws the eye; five turn into noise. Remove them when they're no longer new.
- Consistent style. Use one icon set, at one size and weight.
- Don't depend on colour. A red dot alone doesn't say "sale" to everyone; use text in the badge.
For a full look at mobile navigation plugins, see the mobile menu plugin comparison.