Nav Menu Images is a WordPress plugin (download) that enables uploading of images for nav menu items on a menu edit screen. By default, those images will be displayed instead of text for respective menu items. Note that after upload, you should set an image as featured to be able to display it.
You can also set images that will be displayed only when you hover menu item, or when menu item is of currently displayed page. See screenshots to get an idea how to do this
Developers can use many available filters to make their own way of displaying images, or even create a child class on top of base one. Read a detailed guide for developers.
Although this plugin displays uploaded images out of the box, it will probably not give best possible look, so it’s recommended to create custom CSS styles for affected elements.
Nav Menu Images code is partly based on a code from now defunct plugin Custom Menu Images by Anabelle Handdoek/∞manos s.a.s and a code from plugin Metronet Profile Picture by Ronald Huereca/Metronet Norge AS.
If you are translator, you can translate it to your language and send translations. Currently, only Serbian translation is available.
Nav Menu Images is released under the terms of GNU General Public License. It is completely free so if you find it useful you can give something back to author. Your help could be done by giving donation, translating plugin to your language, sending bugs and suggestions, promoting plugin in blogs, forums social networks, and other websites.