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!


@mathiasbynens No problem!

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.