3 Answers
3

You have to export your Bookmarks, edit the HTML file and import it again. It sounds way more complicated than it is and it's a clean solution since Chrome puts all of your re-imported bookmarks are in a separate "Imported" folder which you can delete after the changes are applied.

Step by step guide:

Open the Bookmark Manager and export your bookmarks

Open the exported html file in your favorite editor and look for the bookmarklet you want an favicon applied to.

Convert the 16x16 px favicon you want to use into the BASE64 format (there a lot of free online converters out there in case you have no native application).

Now you can add the favicon via adding the ICON=”insert-your-base64-image-code-here" attribute in the link.

Save the file and import it in the bookmark manager. If the favicon doesn't show up try hitting the bookmarklet. Afterwards the changes should stick and you can delete the imported bookmarks.

Update (09-17-12): I haven't found the linked image in my post here since I wiped my Amazon S3 space completely - so I went on and deleted it. However, if you need further assistance I discovered a blog post which pretty much describes the whole process in detail.

Another very simple solution is to use the "I hate your favicon" chrome extension. It allows you to input a url for a website that you want to change its favicon, and a url of an image of what you want the favicon to be. The rest is handled for you.

Recently I deleted my favicon file in Chrome (without making a back-up) and suddenly all my bookmark toolbar links were missing their icons, since I'm using javascript:window.open to open them in a new tab.

Today I realized why I was happily having favicons on my bookmarklets for months:
When I first switched from Firefox to Chrome, I imported all my bookmarks from there and later manually edited them all in Notepad with the above JavaScript.

Firefox added all the icons with their base64 code.

I can now confirm that pattulus' solution works, and in addition, if you don't want to manually convert to and add every base64 code, just export your clean, non-bookmarklet bookmarks, edit the them externally and re-import them.

That is, if it's as simple as in my case, where I edited in the same JavaScript for all bookmark links and could simply use Notepad's replace function.