Here is a simple guide on how to replace a menu item with an icon. For this example we’ll replace the “Home” item in our Canvas demo.
Your menu needs to be setup using WP Menus for the correct menu ID’s to be outputted.
First, lets find a nice home icon. If you go to IconFinder you can search for “home” and find many nice ones. We’re going to use this one, so download that and upload to your site. Use Media->Add New and copy the URL to the image after uploading.
Next step is to use Firebug to inspect a menu item, so you can find the ID of the list element.

Right click the menu item and inspect element to find the ID to use later.
Once we have the ID we can start adding some CSS to custom.css in your theme through Apperance->Editor.
#menu-item-290 {
margin-left: 10px;
width: 32px;
}
#menu-item-290 a {
background: url("http://cdn2.iconfinder.com/data/icons/gnomeicontheme/24x24/actions/redhat-home.png") no-repeat scroll 0pt 0pt transparent;
text-indent: -99em;
}The first style targets the main list element, and sets the width to 32px so it’s the same width as the image, and just moves the image 10px to the right.
The second style targets the link or anchor inside the list element, and sets the background of that anchor to the icon. To hide the text we simply move it off the screen with negative text indent.
That’s it! The finished product will look like this:

The Home linnk replaced by a home icon!