Note: Starting with Safari 12 on macOS Mojave, Safari supports Favicon drawing out of the box, so Faviconographer will be no longer necessary for tab Favicons. For bookmark Favicons, Mojave would still require significant changes that I don't have the resources for right now, so for the time being Faviconographer will not run on macOS Mojave.
To enable Favicons in Safari 12, go to Preferences > Tabs, and check “Show website icons in tabs”.
Speaking of new features — if you are looking for something like iOS 12's new Screen Time feature for your Mac, make sure to check out Timing.
Faviconographer is a little utility that displays Favicons for the tabs you have opened in the current Safari window, just like almost every other browser does it.
This helps you navigate between them more quickly.
Faviconographer asks Safari.app for a list of all visible tabs (and their positions) in the current window, and for the URLs of those tabs.
It then uses that information to fetch the corresponding icons from Safari's Favicon cache (WebpageIcons.db), and draws them above the Safari window.
It's a "hack" — the cleanest solution would be Apple implementing Favicons in Safari — but it works surprisingly well.
Note: Faviconographer does not "hack" your system. It does not inject code into other apps or manipulate system files. In fact, it doesn't even require Administrator access!
When John Gruber wrote about Safari's lack of tab Favicons a few weeks ago, I realized that you could emulate this feature by overlaying the corresponding icon above each tab. This would require just three steps:
Turns out, my automatic time tracking app Timing already has code for all three steps:
With all the necessary components already there, I "remixed" them into Faviconographer.
A few hours later, I tweeted a screenshot of the prototype.
The positive response to that tweet kept me going, and here we are now with a working version that you can download and use.
Faviconographer is free to use, and given that it's just a hack I wouldn't feel comfortable charging money for it.
If you'd like to support my work, please feel free to try out Timing, my other Mac app.
The Accessibility API lets an app determine the position of user interface elements on the screen. Faviconographer uses this to figure out in which places your Favicons should be drawn.
Of course not! Faviconographer does not (and will never) collect any information about your tabs, let alone send them anywhere.
The data it needs to display Favicons is discarded right after use and not even written to disk.
Faviconographer does connect to our server at launch to automatically check for updates, though, and it uses Fabric to gather crash reports.
Both connections can be turned off in its preferences, though.
As mentioned above, Faviconographer contains some proprietary code from Timing that I am not comfortable with open sourcing right now.
If you have a legitimate interest in the source code, contact me.
While Faviconographer is running, simply double-click its icon a second time to open the preferences window.
Faviconographer has been tested to work on macOS Sierra and some users also reported it to work on El Capitan.
I am Daniel Gräfe, an independent Mac and iOS app developer.
If you'd like to get notified whenever I create another project like this, feel free to sign up for my newsletter.
You can also follow me on Twitter, visit my linkblog at danielalm.de, or check out my products at timingapp.com and pocketcas.com.
Please check the issues listed above before reaching out —
most of these are technical limitations that can't be worked around, so no need to report them ;-)
In case you want to give feedback, feel free to send an email to daniel@(this domain).
This version disables Favicon drawing on macOS Mojave and on Safari Technology Preview, as those versions support Favicon drawing out of the box.
That also means that there will likely be no further updates to Faviconographer, but feel free to keep using it with Safari 10 and 11 :-)
FYI, to enable Favicons in Safari 12, go to Preferences > Tabs, and check “Show website icons in tabs”.