Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Dynamically changing favicons with JavaScript
* Dynamically changing favicons with JavaScript
* Works in all A-grade browsers except Safari and Internet Explorer
* Demo:
// HTML5™, baby!
document.head || (document.head = document.getElementsByTagName('head')[0]);
function changeFavicon(src) {
var link = document.createElement('link'),
oldLink = document.getElementById('dynamic-favicon'); = 'dynamic-favicon';
link.rel = 'shortcut icon';
link.href = src;
if (oldLink) {

Update: The Chrome bug was fixed in Chrome 6 (released Sep 10th, 2010), so the Chrome hack that broke the forward button isn’t really necessary anymore.


@mathiasbynens Minor nitpick: Line 8 should read document.head || (document.head = document.getElementsByTagName('head')[0]);. Omitting the parentheses produces a syntax error.


@kitgoncharov That’s not a nitpick at all, just a silly typo on my end. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.