JS favicon frame replacement
Watch this page’s browser tab. JavaScript generates a new, entirely
static SVG image and assigns it to the page’s
<link rel="icon"> element every 125 milliseconds:
eight separate favicon frames per second.
The favicon contains no SVG animation, GIF, APNG, video, or CSS
animation. Every frame is an embedded data: URL, so the
favicon makes no network requests. If the tab icon appears to spin, the
browser is accepting repeated replacements of static images—not playing
an animated favicon resource.
This image receives the same static frames. Movement here confirms that the script is running; the browser tab is the actual test.
- Method
- JavaScript frame replacement
- Nominal rate
- 8 frames per second
- Frame format
- static SVG in a
data:URL - Favicon network requests
- none
- Replacements so far
There are no controls and no alternative test modes. Frame replacement begins automatically when the page loads and continues for as long as the page’s JavaScript is allowed to run.